![]() |
matlab-方程求解
有方程X1'=AX0+(B+1)X1+X1^2*X2
X2'=X0+BX1-X1^2*X2 t=1:5; 当t=1时,X0=2; t=2时,X0=2.5; t=3时,X0=2.8; t=4时,X0=1.8; t=5时,X0=1.7; a=85; b=1; 首先,求解每个时刻的X1和X2的稳态解; 然后;将每个时刻的稳态解与测试值相比,若差值大于1,则修改系数a和b,使得稳态解与测试值的差值小于1 如何编写matlab程序呢 |
回复: matlab-方程求解
代码我写好了:
%这就是一个例子,初值我都自己定义了,你要计算可以修改。把上面的X1'=AX0+(B+1)X1+X1^2*X2;X2'=X0+BX1-X1^2*X2这个方程组写成一个函数文件,存为myfunfun.m t_final=100; x0=[1;1]; [t,x]=ode45('myfunfun',[0,t_final],x0); plot(t,x) 可惜了,因为有非线性项,我电脑没有在短时间内算出来。明天我去实验室用大型机给你算一下,再找个时间把结果发给你。 |
回复: matlab-方程求解
1 个附件
好了,今天可以解答这个问题了,不过为了简便,我没有对每个初值修改方程,回头你自己去修改吧。
结果和代码都在附件里面。顺便说一声,因为你的是非线性方程,步长最好自己控制,否则计算时间很长,我用了50个点,就算了61.64seconds |
回复: matlab-方程求解
谢谢,非常感谢,可以有联系方式吗,有问题可以直接请教您,
[email][email protected][/email] |
所有时间均为北京时间。现在的时间是 03:25。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.