matlab中下列程序为什么出错?syms m k t v n g=exp(- (m*v^2)/(2*k*t))*v^2;a=m/(2*k*t);f=int(exp(- a*v^2)*v^n,v,0,inf);b=f*4*pi*(a/pi)^(3/2);pretty(solve(diff(g,v))); %求解最概然速率n=2;eval(simple(eval(b))), %证明归一化条件n=3;p
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/31 23:23:54
matlab中下列程序为什么出错?syms m k t v n g=exp(- (m*v^2)/(2*k*t))*v^2;a=m/(2*k*t);f=int(exp(- a*v^2)*v^n,v,0,inf);b=f*4*pi*(a/pi)^(3/2);pretty(solve(diff(g,v))); %求解最概然速率n=2;eval(simple(eval(b))), %证明归一化条件n=3;p
matlab中下列程序为什么出错?
syms m k t v n
g=exp(- (m*v^2)/(2*k*t))*v^2;
a=m/(2*k*t);f=int(exp(- a*v^2)*v^n,v,0,inf);
b=f*4*pi*(a/pi)^(3/2);
pretty(solve(diff(g,v))); %求解最概然速率
n=2;eval(simple(eval(b))), %证明归一化条件
n=3;pretty(simple(eval(b))), %求解平均速率
n=4;pretty(eval(simple(eval(b^0.5)))), %求解方均根速率
我知道在符号积分中出现多个参数 ,我只对v进行积分,按理说第五个得到的应该是1,为什么改不了,应该如何修改?
matlab中下列程序为什么出错?syms m k t v n g=exp(- (m*v^2)/(2*k*t))*v^2;a=m/(2*k*t);f=int(exp(- a*v^2)*v^n,v,0,inf);b=f*4*pi*(a/pi)^(3/2);pretty(solve(diff(g,v))); %求解最概然速率n=2;eval(simple(eval(b))), %证明归一化条件n=3;p
【按理说第五个得到的应该是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的那一行应该就是你说的“第五个”吧?