PDA

查看完整版本 : 【求助】dsolve 表达式代值


chxuju
2007-05-29, 17:27
我要解一个微分方程组如:dx/dt=a*x+b*y,dy/dt=c*x+d*y.(a,b,c,d是数)看书上的例子直接用dsolve (dsolve('Dx=a*x+b*y,Dy=c*x+d*y','x(0)=0,y(0)=1','t'))就行了~~~我如果把a,b,c,d直接代入数计算,也能计算得到,可我需要把a,b,c,d的值改变,应该怎么做啊~~我试着用function ***(a,b,c,d)然后用dsolve可不管用啊,解出来的还是带有a,b,c,d的式子,应该怎么做才能改变a,b,c,d的值,使我用'Dx=a*x+b*y,Dy=c*x+d*y'时a,b,c,d是作为数直接计算的??谢谢了~~!!

hundunma
2007-06-02, 21:25
我也遇到这个问题。
我的MATLAB是6.5版的,用来解二元方程组时,程序给的解是多项式。

chxuju
2007-06-04, 14:31
我的那个问题已经解决了.是用subs.在要求的函数之前先定义变量syms a b c d x y
%比如要代入a,b,c,d的值,f=a*x+b*y,)比如要求的的等式为f=a*x+b*y).要用a=0代替
然后直接按你的要求输入要求的等式,在等式 求完解以后再sub(f,a,0)就OK了!