wlbk.net
当前位置:首页 >> 用二阶龙格库塔法求解常微分方程的初值问题. >>

用二阶龙格库塔法求解常微分方程的初值问题.

matlab中集成了Runge-Kutta-Fellhberg算法,其调用函数为ode45,此外还有其他的ode函数。求解不同类型的微分方程。附件...

你好,请搜索”VisualC++常微分方程初值问题求解“可以找到相关资料例如:三、使用经典龙格-库塔算法进行高精度求解龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原...

clear, clc%清除内存中的变量 %数值解y=inline('x*exp(x)+2*x-1');y(1) % 四阶龙格库塔法y0=[-1 3 2];[x1,y1] = ode45(@fun,[0,1],y0); y1(end,1) % y(1)的值function dy=fun(x,y)dy=zeros(3,1);dy(1)=y(2);dy(2)=y(3);dy(3)=y(3)+y(2)-y(1)+2*x...

用Matlab四阶龙格库塔法求常微分方程可以按照以下方法去实现。 1、首先建立自定义微分方程函数 function f = ode_fun(x,y) f=y+2*x/y^2; end 2、然后用四阶龙格库塔法求其数值解 figure(2) y0=[1]; %初值y(0)=1 h=0.1; a=0; b=5; [x,y] = rung...

另z = y' 原来的方程就可以化简成以z'和y,x的方程 和y'=z 带入两个初始条件,就可以进行迭代了

[t,x]=rk4(@(t,x)[-x(1),-x(3),x(2)],0,2,[1,-1 0], 0.01) %函数文件 function [t,x]=rk4(funname,t0,t1,x0,dt) t=[]; x=[]; while t0

>> dy=inline('[y(2);7*(1-y(1)^2)*y(2)-y(1)]','t','y'); >> ode45(dy,100,[1 0]) 同做毕设的路过,话说毕个业真难

建立.m文件 --------------------------------------------- function theta=danbai(t,X) x=X(1); dx=X(2); ddx=-sin(x); theta=[dx;ddx]; ---------------------------------------------- 命令窗口输入 >> [t,Y]=ode45(@danbai,[0 6],[pi/3 -1...

另z = y' 原来的方程就可以化简成以z'和y,x的方程 和y'=z 带入两个初始条件,就可以进行迭代了

第一步:将高阶常微分方程转换成常微分方程组,func(t,x) 第二步:调用runge_kutta(@func,y0,h,a, b) 例如:二阶常微分方程 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];...

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