matlab高手进——解决了再送100分

来源:百度知道 编辑:UC知道 时间:2024/09/20 18:37:09
1,四个关于z的变量S1(z),S2(z),R1(z),R2(z);
2,有个包含四个式子的微分方程组,也就是关于S1(z),S2(z),R1(z),R2(z)的,左边分别是他们四个对z求导,右边是S1(z),S2(z),R1(z),R2(z)的表达式;
3,z的范围是(0,L)。现已知S1(0),S2(0),R1(L),R2(L),如何求S1(L),S2(L),R1(0),R2(0);
只要给出思路即可,如能举例说明,再送100分
(微分方程组是关于他们四个的,不是每一个分别满足一个微分方程)
在线等,不清楚的地方请提问

你这个是常微分方程组。
一般可以用龙格库塔法来做。
自己写程序的话,龙格库塔会麻烦一些,此时你可以考虑用简单的差分代替微分。不过在MATLAB里面龙格库塔也显得方便很多。
我只能你一个例子。这里自变量是z,函数是S(z),R(z),对于你的四个变量也是类似的。

dR/dz=4*R(z)-2*R(z)*S(z)
dS/dz=R(z)*S(z)-3*S(z)
且R(0)=2,S(0)=3

在Matlab里输入edit myequ.m
打开一个窗口,你将下在代码输入:
代码的主要功能是描述上面那两个微分方程组。
function result=myequ(t,x)
result=[4*x(1)-2*x(1)*x(2);x(1)*x(2)-3*x(2)];
保存为myequ.m

在Matlab中。输入:
z_end=10;
x0=[2,3]; %初值
[t,x]=ode45('myequ',[0,z_end],x0);
plot(t,x);
title('Z-RS函数图像');

/***********以上只是一般地微分方程的解法*********/
然而你的条件里面既有初始值,也在终始值。
这方面我也没有接触过,但是我有听说过可以用打靶算法。
这个打靶算法,你再请教一些高人吧。