
首先用hu_tum建立微分方程组:
function dX=hu_tu(t,X) % X=[x;y]
dX=zeros(2,1);
dX(1)=4X(1)-002X(1)X(2);
dX(2)=0001X(1)X(2)-09X(2);
其次,解这个微分方程(这里用ode45),建立runm
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[t,X]=ode45(@hu_tu,[0,10],[100,100])
%[0,10]是t的取值范围
%[100,100]是初值,即最开始有100兔子和100狐狸
%计算s:
s=(X(:,1)^09)exp(-0001X(:,1))(X(:,2)^4)exp(-002X(:,2));
%画图
subplot(2,2,1);
plot(t,X) %兔子和狐狸数量随时间变化图
subplot(2,2,2);
plot(t,s)
subplot(2,2,3);
plot3(X(:,1),X(:,2),s); %传说中的像轨线???
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
最后执行run
% 兔子狐狸问题
% written by trayshleigh 20100627
clc
clear all
close all
nMon = 32;
Rn = zeros(1,nMon);
Fn = zeros(1,nMon);
Rn(1) = 1000;
Fn(1) = 1000;
for mon = (1:nMon)+1
Rn(mon)=11Rn(mon-1)-02Fn(mon-1);
Fn(mon)=02Rn(mon-1)+06Fn(mon-1);
end
figure()
plot(0:nMon,Rn,'b',0:nMon,Fn,'g')
legend('兔子','狐狸')
Rnend = Rn(end)
Fnend = Fn(end)
32个月后兔子有667只,狐狸有333只,
n进一步增大,兔子和狐狸的数目不变。
以上就是关于Matlab建立模型:狐狸与野兔问题全部的内容,包括:Matlab建立模型:狐狸与野兔问题、求一个matlab应用实例的解答。在一个新开辟的地方引进兔子和狐狸各1000只,n个月后的数量分别记为Rn和Fn、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)