求MATLAB大神看下程序为何出错..

2024-11-30 09:49:29
推荐回答(1个)
回答(1):

【按理说第五个得到的应该是1,为什么改不了】看不懂你的这句话——第五个是指哪个?“改不了”是什么意思?

很可能是因为符号运算内核导致的。我在几个不同的版本里面做了测试,对于MuPad内核的版本(2008b之后),都不能求解;而对于Maple内核的版本(2008a之前),6.5版中int函数求不出显式解,后续计算失败,而在2007b中,可以得到

>> pretty(solve(diff(g,v)));

[ 0 ]
[ ]
[ 1/2 1/2 ]
[ 2 (m k t) ]
[ --------------- ]
[ m ]
[ ]
[ 1/2 1/2]
[ 2 (m k t) ]
[- ---------------]
[ m ]
>> n=2;eval(simple(eval(b)))
ans =
1.0000
>> n=3;pretty(simple(eval(b)))

1/2 1/2
2 (m k t pi)
2 ------------------
m pi
>> n=4;pretty(eval(simple(eval(b^0.5))))

1/2 /k t\1/2
3 |---|
\ m /

其中n=2的那一行应该就是你说的“第五个”吧