clzm.net
当前位置:首页 >> mAtlAB解微分方程 >>

mAtlAB解微分方程

楼主是要解析解吧 dsolve('Dy=A/V-B/V*sqrt(2*g*y)','y(0)=h0','t') ans = (2^(1/2)*A + 2^(1/2)*A*lambertw(0, (2^(1/2)*B*g^(1/2)*exp(-(A + B^2*g*(t/V - (A*(log(-(exp(-(A + 2^(1/2)*B*(g*h0)^(1/2))/A)*(2*B*(g*h0)^(1/2) + 2^(1/2)*A))/(...

这说明此微分方程没有显示解,应用数值方法求解,例如ode45等函数 就一个例子(选自matlab帮助文档) 解入下微分方程组 1,建立方程组函数 function dy = rigid(t,y)dy = zeros(3,1); % a column vectordy(1) = y(2) * y(3);dy(2) = -y(1) * y(3);d...

说明 求解常微分方程一般使用ode系列函数(其中最常用的是ode45),基本做法就是把微分方程用函数表示出来,然后调用ode函数求解即可。对于本题而言,使用匿名函数描述微分方程更为方便一些。 参考代码 k0=8; k1=1; K=1; k2=5; n=2; % 常数定义d...

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) 使用这样的方法求解,但从结果看好像你的方程有问题!

1、对于求数值解的微分方程,你可以用ode45()函数求解。如求下列微分方程 func。m %自定义微分方程的函数 function z = func(t,y) z =[y(2);(1-y(1)^2)*y(2)-y(1)]; main。m %主程序 clear all;close all;clc y0 = [0.25;0]; h = 0.1; a = 0; b ...

可以借助于嵌套函数或匿名函数实现附加参数的传递,例如 function main y0 = [1.4; 0.1; 0.1]; A = linspace(eps, 10, 20); Y = A * NaN; for ii = length(A) a = A(ii); y = ode45(@eq2, [0 a], y0); Y(ii) = y(end, 1); end plot(A, Y) functi...

>> clear >> syms a b c d e; >> y=dsolve('a*D2y+b*Dy+c*y=0','y(0)=d','Dy(0)=e') y = (2*a*e + b*d + d*(b^2 - 4*a*c)^(1/2))/(2*exp((t*(b - (b^2 - 4*a*c)^(1/2)))/(2*a))*(b^2 - 4*a*c)^(1/2)) - (2*a*e + b*d - d*(b^2 - 4*a*c)^(1/2))/(...

在Matlab下输入:edit zhidao_feiying.m,然后将下面两行百分号之间的内容,复制进去,保存 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function y=zhidao_feiying(t,x) a=1; b=2; c=3; d=4; %%比方说 %f=a*x+y-z; %g=b*sin(x*y)-c*cos...

没解析解你肯定得用数值解。以下是步骤。 第一步,在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。写完后自动保存,不要对保存目录做...

matlab对微分方程的解析解并不特别人性化。可以的话列出你的微分方程。让我试试。

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