24小时热门版块排行榜    

查看: 2391  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

pianfeng1986

铁虫 (初入文坛)

[求助] 求教matlab线性优化求最小值的问题

这两天遇到这样一个问题, 目前遇到一个函数 F(a,b,c,x), 如果定义a,b,c,可以画出F在x一个区间上的曲线,但无法求得F的具体解析式。  我的目的是把F曲线与手头上的实验曲线达到最好吻合,同时求出相应的参数a,b,c。

      目前我的思路是这样的:试验曲线有10000组数据 (x,y),我用最小二乘的思想,求出每一个x上对应的F与y之差平方和,即sum((y-F)^2),  然后给出a, b , c的范围,用fmincon来求解,但是写了程序,发现问题,程序无法求出相应解。错误为  Warning: Large-scale (trust region) method does not currently solve this type of problem,
switching to medium-scale (line search).
> In fmincon at 274
  In main at 19
Optimization terminated: magnitude of directional derivative in search
direction less than 2*options.TolFun and maximum constraint violation
  is less than options.TolCon.
No active inequalities.


请问大神我该怎么办,是函数用错了吗? 还是用别的方法?

主程序如下:
clear all;clc;
global nr nt apt pidt vb freq nfrq

ui=sqrt(-1);
nr=50;
nt=51;
apt=100;
pidt=10d0;
vb=4212;

%% A,b定义约束     45 < x1<55;  0.22 < x2<0.28;  0.0005 < x3<0.001;
A=[1,0,0; 0,1,0;0,0,1;-1,0,0;0,-1,0;0,0,-1];
b=[55,0.28,0.001,-45,-0.22,-0.0005]';
x0= [49.13; 0.2592; 0.0007];    % Starting guess at the solution
[x,fval] = fmincon(@myfun,x0,A,b)
%%_______________________________________
function f = myfun(x);
global nr nt apt pidt vb freq nfrq
adf=load('y_para.dat');

fs=adf(:,1);
con=adf(:,2);
freq=fs;
nfrq=length(freq);

epson= 0.3302  ;
ita=0.6052  ;
c=1.0888  ;
ym=admres(x(1),x(2),epson,ita,c,x(3));
f=sum((real(ym)-con).^2);
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pianfeng1986

铁虫 (初入文坛)

引用回帖:
3楼: Originally posted by xxz903 at 2013-05-14 16:01:07
线性问题直接用origin就行啊~matlab优化最小误差也行~~~不过优化拟合最好用的还是1stopt~有1.5破解的  绝对能解决你的问题

我所求的函数木有具体的解析式,1stopt不好用啊
4楼2013-05-14 21:35:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
pianfeng1986: 金币+5 2013-05-16 15:07:20
用lsqcurvefit试试
showmethemoney
2楼2013-05-14 15:54:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xxz903

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-05-14 16:19:41
pianfeng1986: 金币+5, 有帮助 2013-05-16 15:07:06
线性问题直接用origin就行啊~matlab优化最小误差也行~~~不过优化拟合最好用的还是1stopt~有1.5破解的  绝对能解决你的问题
3楼2013-05-14 16:01:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pianfeng1986

铁虫 (初入文坛)

引用回帖:
2楼: Originally posted by csgt0 at 2013-05-14 15:54:36
用lsqcurvefit试试

谢谢 我研究下
5楼2013-05-14 21:36:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今天系统多次维护,明天很可能放榜! +5 zju2000 2026-08-16 5/250 2026-08-16 23:23 by Haru815
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +3 Tide man 2026-08-14 3/150 2026-08-16 17:47 by jurkat.1640
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +9 Ldrop2023 2026-08-13 9/450 2026-08-16 13:24 by wukun_007
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +11 家与远方 2026-08-10 16/800 2026-08-16 10:28 by ray43
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +12 Tide man 2026-08-10 13/650 2026-08-15 16:34 by 氺木
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
信息提示
请填处理意见