声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2335|回复: 9

[编程技巧] 求助:急啊!急啊!fmincon函数运行不了

[复制链接]
发表于 2009-5-25 22:52 | 显示全部楼层 |阅读模式

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

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

x
程序见附件
运行后显示:
Error using ==> optimfcnchk
FUN must be a function, a valid string expression, or an inline function object.
Error in ==> fmincon at 252
   [funfcn, msg] = optimfcnchk(FUN,'fmincon',length(varargin),funValCheck,gradflag,hessflag);
Error in ==> myobj at 164
[x,fval]=fmincon(fun,x0,[],[],Aeq,beq)

为什么啊?

[ 本帖最后由 ChaChing 于 2009-5-26 08:30 编辑 ]

myobj.m

41.59 KB, 下载次数: 6

回复
分享到:

使用道具 举报

发表于 2009-5-26 08:34 | 显示全部楼层

回复 楼主 xqq123 的帖子

函数fun不是标准的形式
help fmincon
里头就有例子
 楼主| 发表于 2009-5-26 09:49 | 显示全部楼层

谢谢啊!

太感谢了啊!我再看看
 楼主| 发表于 2009-5-26 09:54 | 显示全部楼层

我改了,还是不对啊!

我的函数分两部分:function f=myobj(x)
                               f=......

                 主函数:function fff
                               。。。。。
                现在运行以后出现:
??? Error using ==> fmincon
Aeq has the wrong number of columns.
Error in ==> fff at 108
[x,fval]=fmincon(@myobj,x0,A,b,Aeq,beq)

我知道是Aeq的行数不对,可是我的确是有十个等式限制啊!
莫非Aeq不支持十个等式限制?
不知道哪位好心人可以帮忙解答一下,万分感谢啊!因为真的很急!
谢谢!谢谢!

[ 本帖最后由 friendchj 于 2009-5-26 11:48 编辑 ]

fff.m

19.15 KB, 下载次数: 4

myobj.m

3.55 KB, 下载次数: 4

发表于 2009-5-26 11:51 | 显示全部楼层
把Aeq和A的大小改为Aeq=Aeq(:,1:88);A=A(:,1:88);后,和x0的长度相等,此时能运行。
估计x0,A,Aeq三者的大小关系有一定的要求
 楼主| 发表于 2009-5-26 15:44 | 显示全部楼层
我的fun函数一定要求我定义变量x的初值,为什么啊?
我的fun函数见附件

执行以后会出现:
??? Input argument "x" is undefined.
Error in ==> myobj at 4
A1(1)=0.0812*x(1)*(2^(x(46)/x(1)/100))+0.2734*x(1);
请大家帮帮忙!

[ 本帖最后由 ChaChing 于 2009-5-26 20:35 编辑 ]

fff.m

19.19 KB, 下载次数: 1

发表于 2009-5-26 15:49 | 显示全部楼层
直接用size 检查一下。  可以看看我问的 有关 fmincon 的帖子。
发表于 2009-5-26 17:22 | 显示全部楼层
这个文件应该是调用的 你是不是直接运行了

评分

1

查看全部评分

 楼主| 发表于 2009-5-26 18:06 | 显示全部楼层

求助:fmincon函数运行没结果!

函数可以运行后显示:
Warning: Large-scale (trust region) method does not currently solve this type of problem,
switching to medium-scale (line search).
> In fmincon at 274
  In fff at 108
Optimization terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is less than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
  lower      upper     ineqlin   ineqnonlin
                          1           
                          2           
...        
                         90           
就完了,不显示x的值,哪位高手帮忙解决一下!
谢谢啦! 程序见附件

[ 本帖最后由 ChaChing 于 2009-5-26 20:41 编辑 ]

fff.m

19.16 KB, 下载次数: 3

myobj.m

3.55 KB, 下载次数: 2

发表于 2009-5-26 22:05 | 显示全部楼层
myobj 函数  是用来实现什么的啊?  我刚试了下,这个函数无论自变量x 为何值,输出结果都是
84.8572
所以你这个函数有问题,但是不知道你想怎么写所以。。
还有 fff 里面的 options  有什么用?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-24 17:01 , Processed in 0.076599 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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