[問題]error fminsearch

作者: d0068267 (WizXu)   2015-05-05 14:03:25
各位大德大能好,
小弟在試課本的一個題目,但一直跑出紅字...
這個是有關函數握把跟fminsearch的題目
我的函數檔是這樣撰寫的:
function L=channel(x)
L=100./x(1)-x(1)./tan(x(2))+2*x(1)./sin(x(2));
在Workspace輸入
x=fminsearch(@channel,[20,1])
卻跑出:
Error in fminsearch(line 191)
fv(:,1) = funfcn(x,varargin{:});
可以解釋紅字的意思,還有我哪裡出錯了嗎?
作者: celestialgod (天)   2015-05-05 16:45:00
我猜是要給x設限制,function值出現NA...我matlab R2015a出現另外一個錯誤XD我幫你用其他程式跑會出現最小值-5E35....
作者: d0068267 (WizXu)   2015-05-05 22:25:00
其實這個問題是要怎麼用fminsearch來找雙變數函數的最小值的時候,雙變數的值個別是甚麼。答案會回傳x(1),x(2)L(d,q)=100/(d) - d/tan(q) + 2*d/sin(q),當L最小的時後,d,q多少
作者: celestialgod (天)   2015-05-05 23:14:00
我意思是你寫法沒問題,可是這個L有問題因為我用其他的solver告訴我最小值會..到-5E35...
作者: sunev (Veritas)   2015-05-06 07:06:00
x(1)>0 x2=0-時就爆掉了
作者: d0068267 (WizXu)   2015-05-06 07:14:00
那我想就是要想辦法給訂範圍嘛~"~,那應該怎麼寫呢?
作者: celestialgod (天)   2015-05-06 07:54:00
這個是你要最小化的東西,怎麼問版友要怎麼寫? 也可以這樣跟你說這個東西你要多小有多小,重點是你要不要把他bound住或是給適當限制條件
作者: d0068267 (WizXu)   2015-05-06 19:04:00
應該說,我不知道要怎麼用函數bound雙變數含數,我知道fminbnd(fun,a,b)可以bound a<x<b,但現在這一題是要bnda1<x(1)<b2 , a2<x(2)<b2,那我應該用哪個內建函數?
作者: celestialgod (天)   2015-05-06 21:22:00
doc fmincon
作者: d0068267 (WizXu)   2015-05-09 12:26:00
thank u~

Links booklink

Contact Us: admin [ a t ] ucptt.com