| 查看: 2261 | 回复: 4 | |||
[求助]
请教matlab非线性拟合结果不唯一的问题 已有2人参与
|
|
我用matlab拟合一组实验数据,函数是y=a*(b+x)^c+d*(1-f*exp(-g*x)),现在的问题是发现只要改一次初值就会得到不同的拟合结果,或者改一下上下限,也会得到不同的拟合结果,这么一来,我觉得就不可能找到最优解,虽然上下限可以取得很大,认为是无界,但是初值怎么取?因为我不可能尝试所有的参数初值,因为我要拟合多组实验数据,获得公式中参数a(1)~a(6)的变化规律,如果参数结果不唯一,我怎么确定哪个参数才是最优的参数呢?事实上,如果从物理意义来限定参数取值也可以,但是那样得到的参数并不是最优解,而最优解的参数又不一定符合物理意义。 我该怎么处理呢?哪位能帮忙看一下,非常感谢! 实验数据和代码如下: 主程序 clc xdata=load('78028-ta.txt'); %read section1 size1=size(xdata); %section1 行、列数 sizen(1)=size1(1); %section1数据量 for i=1:size1; xd(i)=xdata(i,1); yd(i)=xdata(i,2); end set(gca,'Fontsize',15); plot(xd,yd,'ro'); xlabel('True Strain'); ylabel('True Stress/MPa'); hold on lb=[-100000, 0, 0, -10000, -10000, -10000]; ub=[ 100000, 0.02, 1, 10000, 10000, 10000]; a1=1898;a2=0.00002;a3=0.136;a4=542;a5=0.784;a6=62.4; a0=[a1,a2,a3,a4,a5,a6]; options = optimset('TolFun',1e-6,'LargeScale','on','TolCon',1.0e-6,'MaxFunEvals',2.e10,'MaxIter',2000000,'TolX',1e-6); exitflag=0; while (exitflag<=0) %反复迭代 [a,resnorm,residual,exitflag]=lsqnonlin(@SV,a0,lb,ub,options); %nonlinear fitting, solve coefficient a a0=a; end R2=1-resnorm/sum((yd-mean(yd)).^2); standard=sqrt(resnorm/size(residual,2)); stp=1; out(stp,1)=R2; out(stp,2)=standard; out(stp,3)=a(1); out(stp,4)=a(2); out(stp,5)=a(3); out(stp,6)=a(4); out(stp,7)=a(5); out(stp,8)=a(6); hold on fid=fopen('SV-fit-78028-ta.txt','wt'); for i=1:size1; G(i)=a(1)*(a(2)+xd(i))^a(3)+a(4)*(1-a(5)*exp(-a(6)*xd(i))); fprintf(fid,'%8.6f %10.6f\n',xd(i),G(i)); end fprintf(fid,' R2 standard s1 s2 s3 V1 V2 V3\n'); fprintf(fid,'%10.6f %10.6f %10.6f %10.6f %10.6f %10.6f %10.6f %10.6f\n',out(i,1),out(i,2),out(i,3),out(i,4),out(i,5),out(i,6),out(i,7),out(i,8)); fclose(fid); plot(xd,G,'b','LineWidth',2) hold on legend('EXP','SV'); hold off clear 函数 function F=SV(a) xdata=load('78028-ta.txt'); size1=size(xdata); sizen(1)=size1(1); for i=1:sizen(1); xd(i)=xdata(i,1); yd(i)=xdata(i,2); end for i=1:sizen(1); F(i)=a(1)*(a(2)+xd(i))^a(3)+a(4)*(1-a(5)*exp(-a(6)*xd(i))); F(i)=F(i)-yd(i); end 实验数据 78028-ta.txt 0 223.634 0.0005 261.9 0.001 373.358 0.0015 425.658 0.002 462.61 0.0025 492.699 0.003 513.549 0.0035 524.142 0.004 538.681 0.0045 546.22 0.005 554.575 0.0055 563.233437 0.006 570.27162 0.0065 577.07317 0.007 583.656651 0.0075 590.037892 0.008 596.230537 0.0085 602.246461 0.009 608.09609 0.0095 613.788651 0.01 619.332371 0.0105 624.734633 0.011 630.002102 0.0115 635.14083 0.012 640.156342 0.0125 645.053702 0.013 649.837576 0.0135 654.512279 0.014 659.081814 0.0145 663.549911 0.015 667.920058 0.0155 672.19552 0.016 676.379368 0.0165 680.474496 0.017 684.483635 0.0175 688.409373 0.018 692.254165 0.0185 696.020341 0.019 699.710123 0.0195 703.325629 0.02 706.4514911 0.025 735.7217232 0.03 758.4120509 0.035 778.3482998 0.04 794.7567166 0.045 809.6868333 0.05 822.8422861 0.055 834.8128986 0.06 846.1687589 0.065 856.1567004 0.07 866.0042315 0.075 874.4658077 0.08 882.1951827 0.085 890.0445724 0.09 897.0900675 0.095 903.7413962 0.1 910.0615411 0.105 915.8285085 0.11 921.8803708 0.115 927.2834332 0.12 932.4186891 0.125 937.3558307 0.315 1073.901289 |
» 收录本帖的淘帖专辑推荐
Matlab |
» 猜你喜欢
津理工大学晶体材料全国重点实验室刘红军教授课题组招收博士生一名
已经有0人回复
【原创讨论】从电子约束到物质编辑:一套可迭代的环形磁场科技树
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有216人回复
【方案分享】单环磁场+轴心控制+偏转导出电子束约束系统(可行性实验)
已经有6人回复
【修正版】单环用磁约束低速电子实验方案(简化版)
已经有0人回复
桂林理工大学物理学专业招收调剂,还有三个名额!!!
已经有22人回复
考博自荐
已经有4人回复
山东大学第二批博士研究生招生
已经有0人回复
中国科学院东莞材料科学与技术研究所-2026年博士招生-吴昊研究员-磁学与自旋电子学
已经有0人回复
《电磁学》教材推荐
已经有1人回复
【急招】合肥工大核聚变材料计算方向2026级工程博士生
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求关于非线性材料的电阻及微分电阻意义的解释及matlab 计算方法
已经有1人回复
求关于非线性材料的电阻及微分电阻意义的解释及matlab 计算方法
已经有0人回复
请教大家一个数值问题
已经有4人回复
求关于非线性材料的电阻及微分电阻意义的解释及matlab 计算方法
已经有0人回复
用MATLAB模拟介质圆柱外的等势线
已经有1人回复
matlab 拟合方法
已经有4人回复
请教一个多元线性回归的问题(非常实际)
已经有3人回复
基于等高线渲染的地形图高程数据提取技术的matlab代码
已经有0人回复
紧急请教大牛们关于幅频响应曲线的matlab作图
已经有0人回复
Matlab画图legend显示部分曲线的图例问题请教
已经有1人回复
请教非线性拟合问题
已经有1人回复
【讨论】请教三维线条图,非渲染
已经有0人回复
dingd
铁杆木虫 (职业作家)
- 计算强帖: 4
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.7小时
- 虫号: 291104
- 注册: 2006-10-28
【答案】应助回帖
★ ★ ★ ★
感谢参与,应助指数 +1
anarky: 金币+4, ★★★很有帮助, 非常感谢! 2015-12-09 21:24:24
感谢参与,应助指数 +1
anarky: 金币+4, ★★★很有帮助, 非常感谢! 2015-12-09 21:24:24
2楼2015-12-08 10:18:31
yanshuiting
新虫 (正式写手)
- 应助: 1 (幼儿园)
- 金币: 1484.8
- 散金: 50
- 红花: 7
- 帖子: 448
- 在线: 68.7小时
- 虫号: 2633300
- 注册: 2013-09-03
- 专业: 计算机科学
3楼2015-12-08 12:36:50
4楼2015-12-16 21:03:30

5楼2015-12-16 21:54:02












回复此楼