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

mAtlAB解微分方程中程序问题

function dx=differential(t,x) dx = zeros(2,1);; dx(1)=x(1)*(1-x(1))*30; dx(2)=x(2)*(1-x(2))*(160*x(1)-20); end clc options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-5]); [T,Y]=ode45(@differential,[0 5],[0.5 0.5],options); figur...

没有大错误,将中文标点改下就行了 新建一个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...

好像没什么特别好的办法: >> syms t q y; q=4*t^3;>> syms Dy>> eq=Dy-(q-2*t);>> y=dsolve(char(subs(eq)),'y(0)=5','t')y = t^4-t^2+5 也就是要先移项把微分方程写成等号右端为零的形式(需额外定义Dy),然后subs代入,再求解。

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...

syms t v=dsolve('Dv=(190.708-90.64*v^2)/47.27','v(0)=0','t'); t=0:0.00001:0.002; v=eval(v); plot(t,v) 使用这样的方法求解,但从结果看好像你的方程有问题!

function exer=yfun(t,x) exer = -x^3 exer为返回值;yfun为函数名称;(t,x)是函数的两个变量,t在函数内部没有使用,是个空变量。这个函数本身没有问题,可以作为一个子函数使用,换句话说:要想让其起作用,要有另外一个主程序或函数调用它...

1、【求解常微分方程的表达式里并没有a、b的值代入】 常微分方程里面的a、b只是个符号量,与你输入的数据没有关联起来。 可以把输入的a、b转换为字符串,在dsolve的时候拼接成待求解的微分方程,但那样比较麻烦。 更可去的做法是直接求解,然后...

没解析解你肯定得用数值解。以下是步骤。 第一步,在Matlab里写m-file,命名微分方程对应的函数: function f=myfun(t,x) f = [-x(1)+x(2)^2; -2*x(2)+x(1)^2]; 这里的x(1)就是你这儿的x, x(2)就是你这儿的y。写完后自动保存,不要对保存目录做...

>> 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...

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