龙格库塔求解二阶微分方程组的MATLAB编程

x''+0.7x'+0.8x'|x'|+25.6x-25.6x³=0,已知x(0)=15,x′(0)=0,求x(t)在区间[0,14]的数值解,并画出x(t)、... x''+0.7x'+0.8x'|x'|+25.6x-25.6x³=0,已知x(0) = 15,x′(0) = 0,求x(t)在区间[0,14]的数值解,并画出x(t)、x′(t)的图形。
希望不使用Matlab自身提供的微分方程数值求解函数ode45,编程详细点,简单点,望大神赐教,非常感谢
展开
 我来答
lhmhz
高粉答主

2019-02-03 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:16989

向TA提问 私信TA
展开全部
MATLAB求解x''+0.7x'+0.8x'|x'|+25.6x-25.6x³=0二阶微分方程组的方法,可以按下列步骤进行:
1、建立自定义函数func()
function f = func(t,x)
%x''+0.7x'+0.8x'|x'|+25.6x-25.6x³=0
f(1)=x(2);
f(2)=25.6*x(1)^3-25.6*x(1)-0.8*x(2)*abs(x(2))-0.7*x(2);
f=f(:);
2、建立龙格库塔算法函数runge_kutta()
调用格式:[t,x] = runge_kutta(@(t,x)func(t,x),x0,h,a,b);
3、然后根据x和x'数据,绘制出x(t)、x′(t)的图形。
plot(x(:,1),x(:,2))
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式