如何简便的把数值代入已求出的表达式
matlab吧
全部回复
仅看楼主
level 1
mydaytime 楼主
我用的是R2009a
目的是先求出函数的表达式,然后给表达式中的变量赋值,并画图:
clear
x=sym('x');L=sym('L');EI=sym('EI');
w='c1'*sin(pi*x/(2*L))+'c2'*sin(3*pi*x/(2*L))+'c3'*sin(5*pi*x/(2*L))+'c4'*sin(7*pi*x/(2*L))
KK=int(EI/2*(diff(w,x,2))^2-'P'*w,0,L)
[c1 c2 c3 c4]=solve(diff(KK,'c1'),diff(KK,'c2'),diff(KK,'c3'),diff(KK,'c4'),'c1,c2,c3,c4')
P=100;L=10;EI=1.56*10^5;x=0:L;
plot(x,w)
这样是错的,于是我胡乱试了一会,发现这样可以:
P=100;L=10;EI=1.56*10^5;x=0:L;
c1=eval(c1);c2=eval(c2);c3=eval(c3);c4=eval(c4);w=eval(w);
plot(x,w)
但是如果在大程序中我的表达式很多的话,我得一个个判断共有哪些表达式需要eval一下,灰常之麻烦。讨教高手高招!
2010年05月05日 02点05分 1
1