| 5 | 1/1 | 返回列表 |
| 查看: 2191 | 回復(fù): 4 | |||
anarky新蟲 (初入文壇)
|
[求助]
請(qǐng)教matlab非線性擬合結(jié)果不唯一的問題 已有2人參與
|
|
我用matlab擬合一組實(shí)驗(yàn)數(shù)據(jù),函數(shù)是y=a*(b+x)^c+d*(1-f*exp(-g*x)),現(xiàn)在的問題是發(fā)現(xiàn)只要改一次初值就會(huì)得到不同的擬合結(jié)果,或者改一下上下限,也會(huì)得到不同的擬合結(jié)果,這么一來,我覺得就不可能找到最優(yōu)解,雖然上下限可以取得很大,認(rèn)為是無界,但是初值怎么取?因?yàn)槲也豢赡車L試所有的參數(shù)初值,因?yàn)槲乙獢M合多組實(shí)驗(yàn)數(shù)據(jù),獲得公式中參數(shù)a(1)~a(6)的變化規(guī)律,如果參數(shù)結(jié)果不唯一,我怎么確定哪個(gè)參數(shù)才是最優(yōu)的參數(shù)呢?事實(shí)上,如果從物理意義來限定參數(shù)取值也可以,但是那樣得到的參數(shù)并不是最優(yōu)解,而最優(yōu)解的參數(shù)又不一定符合物理意義。 我該怎么處理呢?哪位能幫忙看一下,非常感謝! 實(shí)驗(yàn)數(shù)據(jù)和代碼如下: 主程序 clc xdata=load('78028-ta.txt'); %read section1 size1=size(xdata); %section1 行、列數(shù) sizen(1)=size1(1); %section1數(shù)據(jù)量 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) %反復(fù)迭代 [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 函數(shù) 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 實(shí)驗(yàn)數(shù)據(jù) 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 |
鐵桿木蟲 (職業(yè)作家)
新蟲 (正式寫手)
|
Matlab尋優(yōu)過程得到的是局部最優(yōu)解,如果這個(gè)解能夠滿足實(shí)際需求,就可以使用,不用太過顧慮全局最優(yōu)解。當(dāng)模型復(fù)雜時(shí),全局最優(yōu)解釋很難得到的。 發(fā)自小木蟲Android客戶端 |
新蟲 (初入文壇)

| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 279求調(diào)劑 +4 | 紅衣隱官 2026-03-21 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 085601調(diào)劑 358分 +3 | zzzzggh 2026-03-20 | 4/200 |
|
|
[考研] 求調(diào)劑 +6 | Mqqqqqq 2026-03-19 | 6/300 |
|
|
[考研] 313求調(diào)劑 +3 | 肆叁貳壹22 2026-03-19 | 3/150 |
|
|
[考研] 機(jī)械專碩299求調(diào)劑至材料 +3 | kkcoco25 2026-03-16 | 4/200 |
|
|
[考研] 一志愿重慶大學(xué)085700資源與環(huán)境專碩,總分308求調(diào)劑 +3 | 墨墨漠 2026-03-18 | 3/150 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-03-18 | 6/300 |
|
|
[考研] 294求調(diào)劑材料與化工專碩 +15 | 陌の森林 2026-03-18 | 15/750 |
|
|
[考研] 317求調(diào)劑 +5 | 申子申申 2026-03-19 | 9/450 |
|
|
[考研] 287求調(diào)劑 +7 | 晨昏線與星海 2026-03-19 | 8/400 |
|
|
[考研] 290求調(diào)劑 +7 | ^O^乜 2026-03-19 | 7/350 |
|
|
[考研] 材料學(xué)碩297已過四六級(jí)求調(diào)劑推薦 +11 | adaie 2026-03-19 | 11/550 |
|
|
[考研] 材料學(xué)求調(diào)劑 +4 | Stella_Yao 2026-03-20 | 4/200 |
|
|
[考研] 261求B區(qū)調(diào)劑,科研經(jīng)歷豐富 +3 | 牛奶很忙 2026-03-20 | 4/200 |
|
|
[考研] 085600材料與化工調(diào)劑 324分 +10 | llllkkkhh 2026-03-18 | 12/600 |
|
|
[考研] 【同濟(jì)軟件】軟件(085405)考研求調(diào)劑 +3 | 2026eternal 2026-03-18 | 3/150 |
|
|
[考研] 311求調(diào)劑 +6 | 26研0 2026-03-15 | 6/300 |
|
|
[考研] 材料,紡織,生物(0856、0710),化學(xué)招生啦 +3 | Eember. 2026-03-17 | 9/450 |
|
|
[考研] 302求調(diào)劑 +4 | 小賈同學(xué)123 2026-03-15 | 8/400 |
|
|
[考研] 0856專碩279求調(diào)劑 +5 | 加油加油!? 2026-03-15 | 5/250 |
|