声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1664|回复: 1

[编程技巧] 一个fsolve的问题

[复制链接]
发表于 2007-6-5 20:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
原程序为
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);

请问各位高手是怎么回事,又该如何解决呢
回复
分享到:

使用道具 举报

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

[ 本帖最后由 xjzuo 于 2007-6-5 23:35 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 11:01 , Processed in 0.061851 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表