24小时热门版块排行榜    

查看: 610  |  回复: 2

wlx0914

金虫 (小有名气)

[交流] 【求助】fminsearchi求解参数问题

已知数据T,xx, xb, 想要把xx表示成以下方程:
lnxx=a+b/T+c*lnT+d*xb+e*xb^2+f*xb^3;
根据数据求方程参数a到e,
目标函数为sum((T-TCAL).^2)最小,TCAL为计算值
自己编的程序有错,请高手指教

function y=myfun()
clear all
clc
ExpData =[292.15        0.00848105        0.200113301
296.09        0.009329695        0.200113301
300.09        0.010580997        0.200113301
304.09        0.011993794        0.200113301
308.29        0.013486483        0.200113301
312.49        0.015286746        0.200113301
316.9        0.017209812        0.2001133
321.39        0.019224455        0.200113301
325.59        0.021446333        0.2001133
329.89        0.023818241        0.200113301
334.13        0.026117718        0.200113301
338.08        0.028576812        0.200113301
341.98        0.031254491        0.200113301
345.86        0.033917449        0.200113301
292.15        0.016489969        0.399943158
297.09        0.017925164        0.399943158
300.79        0.019553686        0.399943158
305.09        0.0215646        0.399943158
309.99        0.024057562        0.399943158
314.39        0.026586429        0.399943158
318.29        0.029056351        0.399943158
322.49        0.03187043        0.399943157
326.69        0.035019471        0.399943158
330.92        0.038027106        0.399943158
335.29        0.041484872        0.399943158
340.5        0.045715199        0.399943158
344.8        0.04958667        0.399943157
348.09        0.052760705        0.399943158
];
T1= ExpData(:,1);
xx1= ExpData(:,2);
xb1= ExpData(:,3);
T=T1';xx=xx1';xb=xb1';
%用fminsearch()—求解非线性Nelder-Mead单纯形法(非线性数据拟合)问题
A0= [-76.4362523947615          1917.34072551572          11.5199849169552        0.0858354183915545          2.96421571145088         -1.90592987130477
];
options=optimset('MaxFunEvals',1e+008,'MaxIter',1e+008)
A=fminsearch(@obj,A0,options,T,xx,xb)


function f =Eqs(T,A,xx,xb)     % 模型方程
f=xx-exp(A(1)+A(2)./T+A(3).*log(T)+A(4).*xb+A(5).*xb.^2+A(6).*xb.^3);

function f=obj(A,T,xx,xb)      %目标函数方程
n=length(T);
for i=1:n
   x=fzero(@Eqs,T(i),[],xx(i),xb(i),A(1),A(2),A(3),A(4),A(5),A(6));
    Tcal(i)=x;
end
f=sum((T-TCAL).^2)
回复此楼

» 猜你喜欢

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

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

lidaxue

木虫 (正式写手)

之乎者也

这是运行楼主的程序产生的错误信息
??? Error using ==> fzero at 317
FZERO cannot continue because user supplied function_handle ==> Eqs
failed with the error below.

Too many input arguments.

Error in ==> obj at 4
   x=fzero(@Eqs,T(i),[],xx(i),xb(i),A(1),A(2),A(3),A(4),A(5),A(6));

Error in ==> fminsearch at 205
fv(:,1) = funfcn(x,varargin{:});

Error in ==> myfun at 39
A=fminsearch(@obj,A0,options,T,xx,xb)
Comeon!
2楼2010-11-10 17:17:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lidaxue

木虫 (正式写手)

之乎者也


robert2020(金币+1):多谢虫友提供建议。 2010-11-10 23:00:11
其实楼主这个程序 完全可以换一种方式来进行编写,这种跨函数间的调用很容易产生错误的,建议吧原始数据输入作为一个m文件,然后利用fminsearch进行单纯形拟合,在拟合过程中进行函数值的求解,这样m文件总共只有两个。
Comeon!
3楼2010-11-10 17:31:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wlx0914 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +32 医学老男孩 2026-08-13 72/3600 2026-08-16 13:15 by 医学老男孩
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +10 majunge000 2026-08-11 12/600 2026-08-16 08:18 by xli1984
[基金申请] 时间戳又变了8-15 +12 archvillain 2026-08-15 23/1150 2026-08-15 20:47 by foyo404
[基金申请] filecode +8 cratir 2026-08-14 12/600 2026-08-15 18:08 by zyfgau
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +12 Tide man 2026-08-10 13/650 2026-08-15 16:34 by 氺木
[基金申请] 关于Filecode分析方法 +10 majunge000 2026-08-10 13/650 2026-08-15 12:26 by hanpeng972
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +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
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 静等基金结果 +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 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青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
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
信息提示
请填处理意见