登录论坛

查看完整版本 : [MATLAB数学相关] 编程至此已无思路,忘高手指点一下


farewell2008
2009-06-18, 15:31
程序如下:
syms x N1 N2 N3 q l
q=1;
l=1;
m1=0.5*q*(l*x-x*x)-0.75*N1*x-0.5*N2*x-0.25*N3*x;
m2=0.5*q*(l*x-x*x)-0.75*N1*x-0.5*N2*x-0.25*N3*x+N1*(x-0.25*l);
m3=0.5*q*(l*x-x*x)-0.75*N1*x-0.5*N2*x-0.25*N3*x+N1*(x-0.25*l)+N2*(x-0.5*l);
m4=0.5*q*(l*x-x*x)-0.75*N1*x-0.5*N2*x-0.25*N3*x+N1*(x-0.25*l)+N2*(x-0.5*l)+N3*(x-0.75*l);
f1=int(m1^2,x,0,0.25*l);
f2=int(m2^2,x,0.25*l,0.5*l);
f3=int(m3^2,x,0.5*l,0.75*l);
f4=int(m4^2,x,0.75*l,l);
f=f1+f2+f3+f4;
y1=diff(f,N1)
y2=diff(f,N2)
y3=diff(f,N3)
现在是要求yi,y2,y3三个方程的解,未知数是N1,N2,N3。也就是线性方程组A*x=B,现在的表达式是A*x-B=0的具体形式了,要返回A*x=B比较困难。忘高手指点迷津,小弟是初学者。