求教各位大神,MATLAB编程如下,提示错误: 文件:eq2.m 行:24 列:11
输入字符不是 MATLAB 语句或表达式中的有效字符。应该怎么修改啊?
function dN=eq2(t,N)
syms eq2 rA rB s1 s2 NA NB NAm NBm
rA=0.5; rB=2;
NAm=100; NBm=80;
s1=0.5;s2=2;
dN=zeros(2,1);
dNA=rA*NA*(1-NA/ NAm-s1* NB/ NBm)
dNB=rB*NB*(1-NB/ NBm-s2* NA/ NAm)
options=odeset('reltol',1e-4,'abstol',[ 1e-4,1e-5]);
[t,N]=ode45(@eq2,[0,1000],[15,5],options);
grid on
axis equal
plot(t,NB(:,1),'b-',t,NB(:,2),'r-')
h=legend('NA(t)','NB(t)',2);
syms rA rB s1 s2 NA NB NAm NBm NA0 NB0
rA=0.5; rB=2;
NA=100; NB=80;
s1=0.5;s2=2;
Nan=15;Nam=100; NBn=5; NBm=80;
N=50;
[NA,NB]=meshgrid(linspace(NAn,NAm,N),linspace(NBn,NBm,N));
FNA=rA.*NA.*(1-NA./ NAm-s1.* NB./ NBm);
FNB=rB.*NB.*(1-NB./ NBm-s2.* NA./ NAm);
FNA= FNA./(sqrt(FNA.^2+ FNB. ^2+1));
[NA,NB]=meshgrid(linspace(NAn,NAm,N),linspace(NBn,NBm,N));
FNA=rA.*NA.*(1-NA./ NAm-s1.* NB./ NBm);
FNB=rB.*NB.*(1-NB./ NBm-s2.* NA./ NAm);
FNA= FNA./(sqrt(FNA.^2+ FNB. ^2+1));
FNB= FNB./(sqrt(FNA.^2+ FNB. ^2+1));
[t1,NB1]= ode45(@eq2,[0,1000],[15,5],options);
Hold on
Grid on
Box on
Axis([NAm,NBm,NAn,NBn])
Quiver(NA,NB,FNA,FNB,0.5)
plot(NB(:,1), NB(:,2),'g','LineWidth',2);
plot(NB1(:,1), NB1(:,2),'g','LineWidth',2);
NA0=15,NB0=5;
options=odeset('reltol',1e-6,'abstol',1e-9);
[t,NB]=ode45('eq2',[0,50],[15,5],options);
grid on
axis equal
plot(t,NB(:,1),'b-',t,NB(:,2),'r-')
h=legend('NA(t)', ,'NB(t)',2);