lzth.net
当前位置:首页 >> mAtlAB解微分方程中程序问题 >>

mAtlAB解微分方程中程序问题

问题在于你的算式上面少写了一个乘号,所以系统将cy看成了一个固定的参数: syms m Vs c y=dsolve('m*D2y = -c*y', 'y(0) = 0, Dy(0) = Vs')

建立myfun.m文件,把以下代码复制进去 function dx=myfun(t,x)dx=zeros(2,1);dx(1)=4*x(1)+x(2).^2;dx(2)=8*x(1)+2*x(2).^2+5*x(2);运行以下代码 t=[0 0.1]; x0=[1 1]; [tt,xx]=ode45('myfun',t,x0); plot(tt,xx(:,1),'-',tt,xx(:,2),'-.')%画出...

1、对于解析值,你可以用dsolve()函数求解。如求微分方程x*y''+x﹡(y')^2-y'=0的解析解 >> syms y(x) >>Dy = diff(y);D2y = diff(y, 2); >>dsolve(x*D2y+x*(Dy)^2-Dy==0,'x') 运行结果 2、对于数值解,你可以查看二阶常微分方程这个例子,http...

如何用matlab求解二阶微分方程,对于一般的微分方程(组)可以用dsolve()函数求得其解析解或数值解,对于较复杂的微分方程(组)可以用ode45()函数求得其数值解。 例如:微分方程,用dsolve和ode45计算t=0.1,0.2时y的值。 y = dsolve('D2y+0...

相关常数都没给,这里随便设置一些数值: m=1;c=2;k=3;y0=4;yp0=5;tf=10;dy=@(t,y)[y(2);-(c*y(2)+k*y(1))/m];[t,y]=ode45(dy,[0 tf],[y0 yp0]);plot(t,y(:,1))

没有大错误,将中文标点改下就行了 新建一个cjxxfun.m文件 function yp=cjxxfun(t,y,flag,q,m) yp=[y(4);y(5);y(6);q*(10*y(3)+1)*y(5)/m-q*((-5*sqrt(y(1).^2+y(2).^2))*cos(pi/4))*y(6)/m;q*((-5*sqrt(y(1).^2+y(2).^2))*sin(pi/4))*y(6)/m;-q...

参考代码: % 参数定义m1 = 1; m2 = 2; m3 = 3;k1 = 4; k2 = 5; k3 = 6;c1 = 7; c2 = 8; c3 = 9;Qy = 10; % 微分方程K = [k1 -k1 0; -k1 k1+k2 -k2; 0 -k2 k2+k3];C = [c1 -c1 0; -c1 c1+c2 -c2; 0 -c2 c2+c3]dy = @(t,y)[y(4:6); (-K*y(1:3)-C*...

>> syms x(t) y(t) r d a b r='1';d='0.5';a='0.1';b='0.02'; [x,y]=dsolve(diff(x)==(r-a*y)*x,diff(y)==-(d-b*x)*y,x(0)==25,y(0)==2) Warning: Explicit solution could not be found. > In dsolve at 194 x = [ empty sym ] y = [] 说明无解。

1.可以解析求解的微分方程。 dsolve() 调用格式为: y=dsolve(f1,f2,...,fmO; y=dsolve(f1,f2,...,fm,'x'); 如下面的例子,求解了微分方程 syms t; u=exp(-5*t)*cos(2*t-1)+5; uu=5*diff(u,t,2)+4*diff(u,t)+2*u; syms t y; y=dsolve(['D4y+10*D3...

对于解析值,你可以用dsolve()函数求解。如求微分方程x*y''+x﹡(y')^2-y'=0的解析解 >> syms y(x) >>Dy = diff(y);D2y = diff(y, 2); >>dsolve(x*D2y+x*(Dy)^2-Dy==0,'x') 运行结果

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com