[問題]error fminsearch

看板MATLAB作者 (MagicianWiz)時間10年前 (2015/05/05 14:03), 編輯推噓1(1021)
留言22則, 3人參與, 最新討論串1/1
各位大德大能好, 小弟在試課本的一個題目,但一直跑出紅字... 這個是有關函數握把跟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{:}); 可以解釋紅字的意思,還有我哪裡出錯了嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.224.242.86 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1430805807.A.DE6.html

05/05 16:45, , 1F
我猜是要給x設限制,function值出現NA...
05/05 16:45, 1F

05/05 16:46, , 2F
我matlab R2015a出現另外一個錯誤XD
05/05 16:46, 2F

05/05 16:47, , 3F
我幫你用其他程式跑會出現最小值-5E35....
05/05 16:47, 3F

05/05 22:25, , 4F
其實這個問題是要怎麼用fminsearch來找雙變數函數的最小
05/05 22:25, 4F

05/05 22:25, , 5F
05/05 22:25, 5F

05/05 22:26, , 6F
的時候,雙變數的值個別是甚麼。答案會回傳x(1),x(2)
05/05 22:26, 6F

05/05 22:28, , 7F
L(d,q)=100/(d) - d/tan(q) + 2*d/sin(q),當L最小的時
05/05 22:28, 7F

05/05 22:28, , 8F
後,d,q多少
05/05 22:28, 8F

05/05 23:14, , 9F
我意思是你寫法沒問題,可是這個L有問題
05/05 23:14, 9F

05/05 23:15, , 10F
因為我用其他的solver告訴我最小值會..
05/05 23:15, 10F

05/05 23:15, , 11F
到-5E35...
05/05 23:15, 11F

05/06 07:06, , 12F
x(1)>0 x2=0-時就爆掉了
05/06 07:06, 12F

05/06 07:14, , 13F
那我想就是要想辦法給訂範圍嘛~"~,那應該怎麼寫呢?
05/06 07:14, 13F

05/06 07:54, , 14F
這個是你要最小化的東西,怎麼問版友要怎麼寫? 也可
05/06 07:54, 14F

05/06 07:54, , 15F
以這樣跟你說這個東西你要多小有多小,重點是你要
05/06 07:54, 15F

05/06 07:54, , 16F
不要把他bound住
05/06 07:54, 16F

05/06 07:54, , 17F
或是給適當限制條件
05/06 07:54, 17F

05/06 19:04, , 18F
應該說,我不知道要怎麼用函數bound雙變數含數,我知道
05/06 19:04, 18F

05/06 19:05, , 19F
fminbnd(fun,a,b)可以bound a<x<b,但現在這一題是要bnd
05/06 19:05, 19F

05/06 19:06, , 20F
a1<x(1)<b2 , a2<x(2)<b2,那我應該用哪個內建函數?
05/06 19:06, 20F

05/06 21:22, , 21F
doc fmincon
05/06 21:22, 21F

05/09 12:26, , 22F
thank u~
05/09 12:26, 22F
文章代碼(AID): #1LI5qltc (MATLAB)
文章代碼(AID): #1LI5qltc (MATLAB)