作者d0068267 (MagicianWiz)
看板MATLAB
标题[问题]error fminsearch
时间Tue May 5 14:03:25 2015
各位大德大能好,
小弟在试课本的一个题目,但一直跑出红字...
这个是有关函数握把跟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://webptt.com/cn.aspx?n=bbs/MATLAB/M.1430805807.A.DE6.html
1F:→ celestialgod: 我猜是要给x设限制,function值出现NA... 05/05 16:45
2F:→ celestialgod: 我matlab R2015a出现另外一个错误XD 05/05 16:46
3F:→ celestialgod: 我帮你用其他程式跑会出现最小值-5E35.... 05/05 16:47
4F:→ d0068267: 其实这个问题是要怎麽用fminsearch来找双变数函数的最小 05/05 22:25
5F:→ d0068267: 值 05/05 22:25
6F:→ d0068267: 的时候,双变数的值个别是甚麽。答案会回传x(1),x(2) 05/05 22:26
7F:→ d0068267: L(d,q)=100/(d) - d/tan(q) + 2*d/sin(q),当L最小的时 05/05 22:28
8F:→ d0068267: 後,d,q多少 05/05 22:28
9F:→ celestialgod: 我意思是你写法没问题,可是这个L有问题 05/05 23:14
10F:→ celestialgod: 因为我用其他的solver告诉我最小值会.. 05/05 23:15
11F:→ celestialgod: 到-5E35... 05/05 23:15
12F:推 sunev: x(1)>0 x2=0-时就爆掉了 05/06 07:06
13F:→ d0068267: 那我想就是要想办法给订范围嘛~"~,那应该怎麽写呢? 05/06 07:14
14F:→ celestialgod: 这个是你要最小化的东西,怎麽问版友要怎麽写? 也可 05/06 07:54
15F:→ celestialgod: 以这样跟你说这个东西你要多小有多小,重点是你要 05/06 07:54
16F:→ celestialgod: 不要把他bound住 05/06 07:54
17F:→ celestialgod: 或是给适当限制条件 05/06 07:54
18F:→ d0068267: 应该说,我不知道要怎麽用函数bound双变数含数,我知道 05/06 19:04
19F:→ d0068267: fminbnd(fun,a,b)可以bound a<x<b,但现在这一题是要bnd 05/06 19:05
20F:→ d0068267: a1<x(1)<b2 , a2<x(2)<b2,那我应该用哪个内建函数? 05/06 19:06
21F:→ celestialgod: doc fmincon 05/06 21:22
22F:→ d0068267: thank u~ 05/09 12:26