PDA

查看完整版本 : [求助]求助,程序的错误


killer166
2008-12-06, 20:04
[catchfish.m]
function y=catchfish(x)
syms k f10 f20 f30 f40 total;
%f10,f20,f30,f40表示4个鱼龄的鱼群的初始量,k表示捕捞强度。
global f10 f20 f30 f40 total k;
total表示捕捞总量。

%求解方程组

x1=dsolve('Dx1=-0.7*x1','x1(0)=f10');
t=1;f20=subs(x1);

x2=dsolve('Dx2=-0.7*x2','x2(0)=f20');
t=1;f30=subs(x2);

x31=dsolve('Dx31=-(0.7+k)*x31','x31(0)=f30');
t=2/3;f31=subs(x31);

x32=dsolve('Dx32=-0.7*x32','x32(2/3)=f31');
t=1;f40=subs(x32);

x41=dsolve('Dx41=-(0.7+3*k)*x41','x41(0)=f40');
t=2/3,f41=subs(x41);

x42=dsolve('Dx42=-0.7*x42','x42(2/3)=f41');

nn=1.1*10^5*(0.5*f31+f41);
eq=f10-nn*1.2*10^11/(1,2*10^11+nn);%求一龄鱼的存活数量
s=solve(eq,f10);f10=s(2);

sym t;
t3=subs(subs(int(k*x31,t,0,2/3)));
t4=subs(subs(int(3*k*x41,t,0,2/3)));
total=15.6*t3+20.8*t4;
k=x;
y=subs(-total);

[bestcatchfish.m]
global a10 a20 a30 a40 total;
[k,mtotal]=fminbnd('catchfish',0,50);
ezplot(total,0,50);
xlabel('捕捞强度系数k');
ylabel('总捕捞量');
title('捕捞强度-总捕捞量关系图');
format long;
k
total=-total;
a10=eval(a10);
a20=eval(a20);
a30=eval(a30);
a40=eval(a40);
format short;
clear

运行显示
Undefined function or variable 'k'
或Undefined function or variable ‘X3’
我想求K的最大值
望高手赐教