24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1146  |  回复: 3

smileheaven

金虫 (小有名气)

[求助] MATLAB非线性优化拟合怎么改才正确

想对函数z求一下x和Fval的最优解,其中x1的取值范围在0.3到1.8,x2的取值范围在1到2,均为闭区间。以下是自己编的程序
    function [x fval history] = myproblem1(x0)
        history = []
        options = optimset('OutputFcn', @myoutput)
        [x fval] = fminsearch(@objfun, x0,options)
        function stop = myoutput(x,optimvalues,state)
            stop=[]
            if state == 'iter'
                history = [history; x]
            end
        end
        function z = objfun(x)
            z = 124.5993*x(1)^2-371.4544*x(1)+712.1124-1359.4398*x(2)^2+4028.7765*x(2)-2244.7098
        end
    end
但是返回的错误却是
??? In an assignment  A( = B, the number of elements in A and B
must be the same.

Error in ==> callAllOptimOutputFcns at 12
    stop(i) = feval(OutputFcn{i},xOutputfcn,optimValues,state,varargin{:});

Error in ==> fminsearch>callOutputAndPlotFcns at 478
            stop = callAllOptimOutputFcns(outputfcn,xOutputfcn,optimValues,state,varargin{:}) || stop;

Error in ==> fminsearch at 213
    [xOutputfcn, optimValues, stop] = callOutputAndPlotFcns(outputfcn,plotfcns,v(:,1),xOutputfcn,'init',itercount, ...

Error in ==> myproblem1 at 4
        [x fval history] = fminsearch(@objfun, x0,options)
请各位虫哥虫姐帮忙看看,谢谢啦
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

探求、奋斗、不达目的誓不罢休
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
smileheaven: 金币+5, ★★★★★最佳答案, 谢谢 2012-06-11 12:18:10
stop=false;


结果
state =

done


Exiting: Maximum number of function evaluations has been exceeded
         - increase MaxFunEvals option.
         Current function value: -31981372058113011000000000000000000000000000000000000000000000000000000000000000000000000000.000000


x =

  1.0e+044 *

    0.1905    1.5349


fval =

-3.1981e+091


result =

  1.0e+044 *

    0.1905    1.5349
showmethemoney
2楼2012-05-25 13:35:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

smileheaven

金虫 (小有名气)

引用回帖:
2楼: Originally posted by csgt0 at 2012-05-25 13:35:05
stop=false;


结果
state =

done


Exiting: Maximum number of function evaluations has been exceeded
         - increase MaxFunEvals option.
         Current function value: -319813720581 ...

那为什么我这边计算不出来呢?什么地方错了,如果可能,还请您指教,谢谢
探求、奋斗、不达目的誓不罢休
3楼2012-05-25 14:01:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

stop只能是false或true,然后通过stop来判断是否跳出。你不用它就设为false,而不是[];再用state判断

Stop Flag

The output argument stop is a flag that is true or false. The flag tells the optimization function whether the optimization should quit or continue. The following examples show typical ways to use the stop flag.
Stopping an Optimization Based on Data in optimValues

The output function can stop an optimization at any iteration based on the current data in optimValues. For example, the following code sets stop to true if the objective function value is less than 5:

function stop = myoutput(x, optimValues, state)
stop = false;
% Check if objective function is less than 5.
if optimValues.fval < 5
    stop = true;
end

Stopping an Optimization Based on GUI Input

If you design a GUI to perform optimizations, you can make the output function stop an optimization when a user clicks a Stop button on the GUI. The following code shows how to do this, assuming that the Stop button callback stores the value true in the optimstop field of a handles structure called hObject stored in appdata.

function stop = myoutput(x, optimValues, state)
stop = false;
% Check if user has requested to stop the optimization.
stop = getappdata(hObject,'optimstop');
showmethemoney
4楼2012-05-25 14:25:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 smileheaven 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 考研求调剂 +3 ban班小七 2026-04-11 3/150 2026-04-11 20:48 by may_新宇
[考研] 290调剂生物0860 +17 哇哈哈,。 2026-04-11 19/950 2026-04-11 20:20 by dongdian1
[考研] 一志愿新疆大学085401,314分 +3 咔咔咔咔9 2026-04-05 3/150 2026-04-11 14:31 by 猪会飞
[考研] 295分求调剂 +9 ?要上岸? 2026-04-10 9/450 2026-04-11 10:48 by qingpingzhu
[考研] 087100初试311求调剂 +4 任雅琴 2026-04-09 4/200 2026-04-11 10:33 by zhq0425
[考研] 工科273调剂 +6 X1999 2026-04-09 7/350 2026-04-11 10:23 by zhq0425
[考研] 085402通信工程调剂,有4项学科竞赛国奖(电赛国二),硕士研究生调剂自荐信。 +5 m永o不v言o弃m 2026-04-09 5/250 2026-04-11 09:33 by zhq0425
[考研] 环境专硕调剂 +16 会说话的肘子 2026-04-06 16/800 2026-04-10 10:30 by asy1wn
[考研] 求调剂 +15 张zic 2026-04-05 16/800 2026-04-10 08:12 by kangsm
[考研] 材料专硕(0856) 339分求调剂 +9 哈哈哈鹅哈哈哈 2026-04-09 10/500 2026-04-09 20:01 by Orcid
[考研] 材料调剂 +10 18815505510 2026-04-09 11/550 2026-04-09 17:07 by 544594351
[考研] 349学科化学045106求调剂,化学类都可以 +8 保好懂懂 2026-04-08 8/400 2026-04-09 14:03 by xulei3024
[考研] 265求调剂 +4 风说她早忘了 2026-04-07 4/200 2026-04-09 13:59 by only周
[考研] 材料307分求大佬组收留 +17 Hll胡 2026-04-07 17/850 2026-04-09 10:53 by liuhuiying09
[考研] 一志愿华南师范大学0702物理学305调剂 +4 念常安 2026-04-07 6/300 2026-04-08 22:53 by bljnqdcc
[考研] 307分材料专业求调剂 +12 Hll胡 2026-04-05 12/600 2026-04-08 16:33 by luoyongfeng
[考研] 求调剂,现在还能填的 +3 上岸小莹加油 2026-04-08 3/150 2026-04-08 14:30 by zhq0425
[考研] 388求调剂 +6 四川王涛 2026-04-07 8/400 2026-04-08 00:17 by JourneyLucky
[考研] 求调剂 +11 wwwwabcde 2026-04-07 11/550 2026-04-07 23:16 by JourneyLucky
[考研] 22408 调剂材料 +7 我叫ez 2026-04-06 8/400 2026-04-07 17:12 by 蓝云思雨
信息提示
请填处理意见