leeiq 发表于 2007-6-5 20:12

一个fsolve的问题

原程序为
syms p1 p2 x1 pt Kp Cm p0 K x0;
Kp=0.2283;
Cm=0.3409;
p0=23.546;
K=1.397;
pt=0.0097;
x0=pt;
q1=Kp*p1+Cm*K*p1/p0/(1-p1/p0)/(1-p1/p0+K*p1/p0);
q2=Kp*p2+Cm*K*p2/p0/(1-p2/p0)/(1-p2/p0+K*p2/p0);
f1=int(q1/p1);
f2=int(q2/p2);
S=f1-f2;
p1=(1-x1)*pt/x1;
p2=x1*pt/(1-x1);
S=Kp*(1-x1)*pt/x1-Cm*log(p0-(1-x1)*pt/x1)+Cm*log(p0-(1-x1)*pt/x1+K*(1-x1)*pt/x1)-Kp*x1*pt/(1-x1)+Cm*log(p0-x1*pt/(1-x1))-Cm*log(p0-x1*pt/(1-x1)+K*x1*pt/(1-x1));
x1=fsolve(@f,x0);

可是机子显示
??? Undefined function or variable 'fsolve'.
Error in ==> D:\Untitled.m
On line 18==> x1=fsolve(@f,x0);

请问各位高手是怎么回事,又该如何解决呢

xjzuo 发表于 2007-6-5 23:23

你定义的函数中没有f,自然出错了-----你想求解什么都没有说,只能你自己多检查了.
如果还不行,可以再贴一下你的问题.
另:猜测了一下,如果求解S的话,结果为x1 = 0.5000.不知是否是你要求的解?

[ 本帖最后由 xjzuo 于 2007-6-5 23:35 编辑 ]
页: [1]
查看完整版本: 一个fsolve的问题