24小时热门版块排行榜    

查看: 608  |  回复: 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

木虫 (正式写手)

之乎者也


robert2020(金币+1):多谢虫友提供建议。 2010-11-10 23:00:11
其实楼主这个程序 完全可以换一种方式来进行编写,这种跨函数间的调用很容易产生错误的,建议吧原始数据输入作为一个m文件,然后利用fminsearch进行单纯形拟合,在拟合过程中进行函数值的求解,这样m文件总共只有两个。
Comeon!
3楼2010-11-10 17:31:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

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的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +9 家与远方 2026-08-10 14/700 2026-08-13 09:41 by 臭臭不臭01
[基金申请] FileCode能看出啥? +8 要乐观耀哥 2026-08-10 23/1150 2026-08-13 00:35 by 要乐观耀哥
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +22 Lanmanbaby 2026-08-09 36/1800 2026-08-12 22:50 by sdfapple719
[基金申请] 关于Filecode分析方法 +8 majunge000 2026-08-10 9/450 2026-08-12 22:17 by 虫友是什么虫
[基金申请] 不应该看fileCode +5 且听虎啸 2026-08-12 6/300 2026-08-12 16:26 by Tide man
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +4 工厂打螺丝 2026-08-08 4/200 2026-08-12 09:18 by hansi2025
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +7 布布和一二 2026-08-10 10/500 2026-08-12 09:12 by 布布和一二
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +3 majunge000 2026-08-11 4/200 2026-08-11 20:13 by lch2012
[基金申请] 分享一下我之前已中青C的计划书的filecode +3 布布和一二 2026-08-11 4/200 2026-08-11 15:20 by aasahr
[基金申请] 确定了,国自然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
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
信息提示
请填处理意见