24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1829  |  回复: 15
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xxz903

管理员

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!

[求助] matlab数据拟合求助!!希望高手帮忙写一下matlab的程序 谢谢了!!

自变量 m,因变量y1,y2;
需要拟合的参数t12,t21,q1,q2,r1,r2,h
其中z=10;
x1=m/(m+h);
x2=1-x1;
o1=x1*r1/(x1*r1+x2*r2);
o2=x2*r2/(x1*r1+x2*r2);
b1=x1*q1/(x1*q1+x2*q2);
b2=x2*q2/(x1*q1+x2*q2);
l1=0.5*z*(r1-q1)-(r1-1);
l2=0.5*z*(r2-q2)-(r2-1);
需要拟合的方程:
y1=ln(o1/x1)+0.5*z*q1*ln(o1/b1)+o2*(l1-r1*l2/r2)-q1*ln(b1+b2*t21)+b2*q1*(t21/(b1+b2*t21)-t12/(b2+b1*t12))-ln(r1/r2)-05*z*q1*ln(q1*r2/(q2*r1))-(l1-r1*l2/r2)+q1*ln(t21)-q1*(1-t12);

y2=ln(o2/x2)+0.5*z*q2*ln(o2/b2)+o1*(l2-r2*l1/r1)-q2*ln(b2+b1*t12)+b1*q2*(t12/(b2+b1*t12)-t21/(b1+b2*t21))-ln(r2/r1)-05*z*q2*ln(q2*r1/(q1*r2))-(l2-r2*l1/r1)+q2*ln(t12)-q2*(1-t21);
数据:
0        0        0
0.1        -0.673344553        -0.003214304
0.2        -0.783071888        -0.005447496
0.3        -0.841647189        -0.008713882
0.4        -0.869884359        -0.010990339
0.5        -0.884307686        -0.014309599
0.6        -0.889162064        -0.018687569
0.7        -0.889162064        -0.02207116
0.8        -0.88673193        -0.025484701
0.9        -0.879476759        -0.029975034
1        -0.869884359        -0.038731848
1.2        -0.850971266        -0.042636996
1.4        -0.830113036        -0.051995295
1.6        -0.807436327        -0.061533872
1.8        -0.783071888        -0.071257081
2        -0.759286983        -0.081169452
2.5        -0.701179352        -0.107972916
3        -0.650087691        -0.136153773
3.5        -0.599656837        -0.165810242
4        -0.553385238        -0.197052419
4.5        -0.512493681        -0.227286842
5        -0.47320876        -0.260553522
回复此楼

» 猜你喜欢

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

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

csgt0

禁虫

彩色挂图

中间几句改成这样可以试试。
没有给你在-10到10上随机,只在0-1上随机初值了。每个初值都要保证你的ln里面的恒正,不然就错了。解决这个问题得转化为其他的函数用不等式约束的方法,那将十分麻烦。
CODE:
xdata=data(:,1);  %Im
ydata=data(:,2:3);  %
options= optimset('MaxFunEvals',5000,'Maxiter',1000);
lb=-ones(1,7);
ub=ones(1,7);
t=1;
for i=1:1:101
x0=rand(1,7);    %t12,t21,q1,q2,r1,r2,h
[x(t,:),resnorm(t)]=lsqcurvefit(@myfun,x0,xdata,ydata,lb,ub,options);
t=t+1;
end
m=find(resnorm==min(resnorm));
xm=x(m,:)
y=myfun(xm,xdata);
plot(xdata,ydata,'g',xdata,y,'r')

showmethemoney
8楼2012-08-21 17:34:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

csgt0

新虫

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xxz903: 金币+10, ★★★★★最佳答案 2012-08-21 14:05:54
程序大概这样,初值得你自己调了
CODE:
function xxz
data=[
0.1        -0.673344553        -0.003214304
0.2        -0.783071888        -0.005447496
0.3        -0.841647189        -0.008713882
0.4        -0.869884359        -0.010990339
0.5        -0.884307686        -0.014309599
0.6        -0.889162064        -0.018687569
0.7        -0.889162064        -0.02207116
0.8        -0.88673193        -0.025484701
0.9        -0.879476759        -0.029975034
1        -0.869884359        -0.038731848
1.2        -0.850971266        -0.042636996
1.4        -0.830113036        -0.051995295
1.6        -0.807436327        -0.061533872
1.8        -0.783071888        -0.071257081
2        -0.759286983        -0.081169452
2.5        -0.701179352        -0.107972916
3        -0.650087691        -0.136153773
3.5        -0.599656837        -0.165810242
4        -0.553385238        -0.197052419
4.5        -0.512493681        -0.227286842
5        -0.47320876        -0.260553522];
xdata=data(:,1);  %Im
ydata=data(:,2:3);  %
x0=ones(1,7);    %t12,t21,q1,q2,r1,r2,h

options= optimset('MaxFunEvals',5000,'Maxiter',1000);
%lb=[10,20,0,0];
%ub=[10000,10000,100,1000];
lb=[];
ub=[];
[x,resnorm]=lsqcurvefit(@myfun,x0,xdata,ydata,lb,ub,options)
y=myfun(x,xdata);
plot(xdata,ydata,'g',xdata,y,'r')
end

function F=myfun(x,xdata)  %x=[]
t12=x(1);
t21=x(2);
q1=x(3);
q2=x(4);
r1=x(5);
r2=x(6);
h=x(7);
m=xdata;
z=10;
x1=m./(m+h);
x2=1-x1;
o1=x1*r1./(x1*r1+x2*r2);
o2=x2*r2./(x1*r1+x2*r2);
b1=x1*q1./(x1*q1+x2*q2);
b2=x2*q2./(x1*q1+x2*q2);
l1=0.5*z*(r1-q1)-(r1-1);
l2=0.5*z*(r2-q2)-(r2-1);
y1=log(o1./x1)+0.5*z*q1*log(o1./b1)+o2*(l1-r1*l2/r2)-q1*log(b1+b2*t21)...
     +b2*q1.*(t21./(b1+b2*t21)-t12./(b2+b1*t12))-log(r1/r2)...
     -05*z*q1*log(q1*r2/(q2*r1))-(l1-r1*l2/r2)+q1*log(t21)-q1*(1-t12);
y2=log(o2./x2)+0.5*z*q2*log(o2./b2)+o1*(l2-r2*l1/r1)-q2*log(b2+b1*t12)...
     +b1*q2.*(t12./(b2+b1*t12)-t21./(b1+b2*t21))-log(r2/r1)...
     -05*z*q2*log(q2*r1/(q1*r2))-(l2-r2*l1/r1)+q2*log(t12)-q2*(1-t21);
F=[y1,y2];
end

showmethemoney
2楼2012-08-21 11:39:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xxz903

实习版主

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!

引用回帖:
2楼: Originally posted by csgt0 at 2012-08-21 11:39:11
程序大概这样,初值得你自己调了

function xxz
data=;
xdata=data(:,1);  %Im
ydata=data(:,2:3);  %
x0=ones(1,7);    %t12,t21,q1,q2,r1,r2,h

options= optimset('MaxFunEvals',5000,'Maxiter',1000) ...

牛啊!终于能算了啊  我试试啊~有问题再联系你啊  谢谢了
3楼2012-08-21 14:05:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xxz903

管理员

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!

引用回帖:
2楼: Originally posted by csgt0 at 2012-08-21 11:39:11
程序大概这样,初值得你自己调了

function xxz
data=;
xdata=data(:,1);  %Im
ydata=data(:,2:3);  %
x0=ones(1,7);    %t12,t21,q1,q2,r1,r2,h

options= optimset('MaxFunEvals',5000,'Maxiter',1000) ...

如果我想让这几个参数随机在-10到10取100次初值然后进行计算,然后在结果中找到最优解再进行画图  我改怎么修改这个程序??谢谢你了
4楼2012-08-21 14:30:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 273求调剂 +8 李芷新1 2026-03-31 8/400 2026-03-31 22:15 by 天倌赐福
[论文投稿] chinese chemical letters英文版投稿求助 130+4 Yishengeryi 2026-03-30 4/200 2026-03-31 19:52 by babero
[考研] 一志愿华东理工大学,080500学硕,317分,求调剂 +9 s1145 2026-03-31 9/450 2026-03-31 18:47 by JourneyLucky
[考研] 317求调剂 +12 蛋黄咸肉粽 2026-03-26 13/650 2026-03-31 16:44 by asdfzly
[考研] 土木304求调剂 +3 顶级擦擦 2026-03-31 3/150 2026-03-31 13:59 by 西京学院招办
[考研] 334求调剂 +7 Trying] 2026-03-31 7/350 2026-03-31 12:33 by 无际的草原
[考研] 286求调剂 +5 丢掉懒惰 2026-03-27 8/400 2026-03-31 11:27 by Delta2012
[考研] 085600材料与化工调剂 +16 kikiki7 2026-03-30 16/800 2026-03-31 10:03 by 氯化亚硝酰
[考研] 085601一志愿西北工业大学初试346 +4 085601初试346 2026-03-30 4/200 2026-03-31 07:47 by jp9609
[考研] 材料与化工调剂一志愿大连海事085600,349 +6 吃的不少 2026-03-30 6/300 2026-03-31 04:17 by fmesaito
[考研] 英一数一408,总分284,二战真诚求调剂 +3 12.27 2026-03-30 5/250 2026-03-31 00:47 by 不吃芒果17
[考研] 一志愿华中师范化学332分求调剂 +3 Lyy930824@ 2026-03-29 3/150 2026-03-30 20:15 by DHUSHUAI
[考研] 材料化工340求调剂 +3 jhx777 2026-03-30 3/150 2026-03-30 17:54 by JourneyLucky
[考研] 334分 一志愿武理 材料求调剂 +16 李李不服输 2026-03-26 16/800 2026-03-30 17:47 by wangjy2002
[考研] 310求调剂 +10 争取九点睡 2026-03-30 10/500 2026-03-30 16:45 by ztnimte
[考研] 一志愿中南大学化学0703总分337求调剂 +6 niko- 2026-03-27 6/300 2026-03-30 10:25 by herarysara
[考研] 一志愿北京工业大学,324分求调剂 +6 零八# 2026-03-28 6/300 2026-03-29 21:20 by nanaliuyun
[考研] 调剂考研 +3 王杰一 2026-03-29 3/150 2026-03-29 08:09 by fmesaito
[考研] 085405 考的11408求各位老师带走 +3 Qiu学ing 2026-03-28 3/150 2026-03-28 09:19 by 乐呵呵的追梦人
[考研] 303求调剂 +6 蓝山月 2026-03-25 6/300 2026-03-25 22:47 by 418490947
信息提示
请填处理意见