phfb.net
当前位置:首页 >> mAtlAB求解高阶微分方程 >>

mAtlAB求解高阶微分方程

f=@(t,y)[y(2);y(3);-.5*y(1)*y(3)];r=@(a,b)[a(1);a(2);b(2)-1];ini=bvpinit(linspace(0,10,5),[0 0 0]);sol=bvp4c(f,r,ini);%边值问题用bvp4c求解,ode45只能求初值问题x=linspace(0,10);y=deval(sol,x);plot(x,y(1,:))

1、你的ode函数写的有问题,应该是function f=tuoyuan(t,x)f=[x(3); x(4); (-5*x(1)/sqrt((x(1)^2+x(2)^2)))/(x(1)^2+x(2)^2); (-5*x(2)/sqrt((x(1)^2+x(2)^2)))/(x(1)^2+x(2)^2)];这样,f(1)-f(4)分别对应x'、y'、x"、y",你原来的写法把顺序都搞乱了.2、按照

可以的 有ode函数 一般可以用ode45函数,这个是四阶,五阶Runge-Kutta单步算法.一般的线性微分方程都能解的.需要按照要求格式来编写方程函数

% by dynamic of Matlab技术论坛% see also http://www.matlabsky.com% contact me matlabsky@gmail.com% 2010-02-26 18:57:08% 首先回答,Matlab可以能求解二元高阶微分方程组 Matlab主要提供了符号(dsolve)和数值算法(ode**),具

回答的一样的问题,还有下面的程序function dy=odefun(t,y) %y(1) x %y(2) x' %y(3) y %y(4) y' %y(5) z %y(6) z' u=9.8*1; dy=zeros(6,1); dy(1)=y(2); dy(2)=-u*y(1)/sqrt(y(1)^2+y(3)^2+y(5)^2)^3; dy(3)=y(4); dy(4)=-u*y(3)/sqrt(y(1)^2+y(3)^2+y(5)^2)^3; dy(5

dY(2) = 2*m/h^2*[U - En]*Y(1);这个语句的m h等变量 看看都是几维的 只能是一个数值才行

MATLAB 求解常微分方程的函数是 dsolve().应用此函数可以求得常微分方程(组)的通解,以及给定边界条件(或初始条件)后的特解.常微分方程(组)可以是高阶的.不能解偏微分方程但可以解非常系数的微分方程(组).注:MATLAB 之所以有如此强大的符号运算功能,完全要归功于 MAPLE.Maths 公司拥有MAPLE 的内核后,MATLAB的功能得到了巨大的增强.

用roots(p)函数求解其中p是方程的各次方的系数组成的矩阵比如 你这道题的求根程序为:roots(p)matlab运行后的结果为:ans =10.31804.04871.8166 + 1.3141i1.8166 - 1.3141i

> roots([100 0 1 0 -10000 0 -10000])ans = 3.2345 -3.2345 0 + 3.0760i 0 - 3.0760i 0 + 1.0051i 0 - 1.0051i

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、对于数值解,你可以查看二阶常微分方程这个例子,https://zhidao.baidu.com/question/1112476448513751339.html(龙格-库塔方法)

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