声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4381|回复: 9

[编程技巧] 应用 fminsearch 函数时 如何限定所要求函数参数的范围

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

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

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

x
在用 fminsearch 函数时
[x,fval]=fminsearch(@abc,[h b L])
这样直接求出的 长宽高 h b L 超出了我需要求的范围。
我需要的条件是 5h<b 5b<L;
不知道用什么方法来对 fminsearch 函数限定这个条件。
有知道的朋友告诉下,谢。

[ 本帖最后由 hanihaoma 于 2009-5-20 23:02 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-5-20 21:04 | 显示全部楼层
有限制的问题还可用fminsearch吗?
fminsearch  - Find minimum of unconstrained multivariable function using derivative-free method
 楼主| 发表于 2009-5-20 21:19 | 显示全部楼层
那请问我这种情况,有没有其他比较合适的函数可以用呢??
发表于 2009-5-20 21:25 | 显示全部楼层
个人也不熟, 也要动手找! so 那就LZ找先了!
 楼主| 发表于 2009-5-20 21:57 | 显示全部楼层
用 fminbnd 可以设定范围,但是只能有一个变量。
我需要同时设定3个变量的范围,暂时没有找到合适的。
有没有其他方法可以实现呢?
发表于 2009-5-20 21:57 | 显示全部楼层
fmincon
Find minimum of constrained nonlinear multivariable function

评分

1

查看全部评分

 楼主| 发表于 2009-5-20 22:25 | 显示全部楼层
我这样设定范围
[x1,fval1]=fmincon(@abc,[h b L],[-1 0 0;5 0 0;0 5 0;0 0 1],[0 b L 5000e-6]')
条件矩阵表示:1 h>0
                            2 5h<b
                            3 5b<L
                            4 L<5000e-6
不知道对不对,我的版本是6.5的 ,按照上述程序运行很慢,都15分钟了还没出结果呢。
所以上来求证下,所做正确否。
发表于 2009-5-20 22:47 | 显示全部楼层
条件矩阵好像与h<5b<5L不同!?
 楼主| 发表于 2009-5-20 23:09 | 显示全部楼层
改了下条件应该是5h<b 5b<L
程序也改了下
[x1,fval1]=fmincon(@abc,[h1 b1 L1]',[-1 0 0;1 0 0;0 -1 0;0 1 0;0 0 -1;0 0 1],[h1-10e-6 h1+10e-6 b1-20e-6 b1+20e-6 L1-100e-6 L1+100e-6]')

参数矩阵 改成了3行 1列。
条件 1      h1-10e-6<h1<h1+10e-6;
         2      b1-20e-6<b1<b1+20e-6;
         3      L1-100e-6<L1<L1+100e-6;
可以运行,能得到结果,虽然时间比较长。
但得到的结果 h1 不符合条件  结果中 h1=1.6941e-021 不知道为什么
h1-10e-6  这种形式matlab 认识吧,还是需要写成 h1-0.00001这种形式?
 楼主| 发表于 2009-5-25 21:29 | 显示全部楼层
楼上的形式不知道为什么运行结果不再限定条件中,要在限定条件中可以用如下形式:
[x1,fval1]=fmincon(@abc,[h_1 b_1 L_1]',[-1 0 0;1 0 0;0 -1 0;0 1 0;0 0 -1;0 0 1],[h_1-0.00001 h_1+0.00001 b_1-0.00002 b_1+0.00002 L_1-0.0001 L_1+0.0001]','','',[h_1-0.00001 b_1-0.00002 L_1-0.0001]',[h_1+0.00001 b_1+0.00002 L_1+0.0001]')
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-22 12:40 , Processed in 0.060237 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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