在matlab里面,用quad命令怎么算不出来?不知道怎么弄了,请高手帮帮忙,谢谢

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:13:56
我编了个小程序,对y积分
syms x;
h_bar=1.054571596*10^(-34);
e=1.602176462*10^(-19);
q=(e^2)/(2*pi*h_bar^3);
for b=1:3;
y=inline('2+x+b+q');
quad(y,0,b)
end;
可是积分不出来,不知道怎么改了?那位高手帮下忙,谢谢,
只有这么多分了,对不住
谢谢,还有一个问题请教,假设a=quad(y,0,b);plot(b,a);画图的话却画不出来,而且在workspace里面b,pp,y都显示一个值,怎样显示b对应的三个积分值,谢谢

syms x;
h_bar=1.054571596*10^(-34);
e=1.602176462*10^(-19);
q=(e^2)/(2*pi*h_bar^3);
for b=1:3;
pp=2+x+b+q;
y=inline(pp);
quad(y,0,b)
end;

总是出在inline('2+x+b+q')
你如果这样写的话,系统会将b,q当成符号处理的。根本达不到你的要求。
不过你加入中间变量就可以了。

=============================================
syms x;
h_bar=1.054571596*10^(-34);
e=1.602176462*10^(-19);
q=(e^2)/(2*pi*h_bar^3);

a=[];
bb=1:3;

for b=bb
pp=2+x+b+q;
y=inline(pp);
a=[a,quad(y,0,b)];
end
a

plot(bb,a)