如何在MATLAB中根據(jù)有限的數(shù)據(jù)點(diǎn)得到函數(shù)_第1頁
如何在MATLAB中根據(jù)有限的數(shù)據(jù)點(diǎn)得到函數(shù)_第2頁
如何在MATLAB中根據(jù)有限的數(shù)據(jù)點(diǎn)得到函數(shù)_第3頁
如何在MATLAB中根據(jù)有限的數(shù)據(jù)點(diǎn)得到函數(shù)_第4頁
如何在MATLAB中根據(jù)有限的數(shù)據(jù)點(diǎn)得到函數(shù)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

如何在MATLAB中根據(jù)有限的數(shù)據(jù)點(diǎn)得到函數(shù)懸賞分:100|

提問時間:2023-5-2407:28

|

提問者:aptxyuchen如何在MATLAB中根據(jù)有限的數(shù)據(jù)點(diǎn)得到函數(shù)推薦答案可以用多項(xiàng)式擬合方法做到,你可以通過實(shí)驗(yàn)得到擬合最好的階數(shù)。但是,如果你將階數(shù)本身設(shè)的比擬大的話,大多數(shù)曲線都可以很好的擬合出來。數(shù)據(jù)擬合:在MATLAB的NAGFoundationToolbox中也有一些曲面擬合函數(shù),如e02daf是最小二乘平方曲面擬合函數(shù),e02def可求出曲面擬合的函數(shù)值。有關(guān)曲面擬合的根本原理參見有關(guān)數(shù)值分析的書籍,這里不再多說。注:關(guān)于在MATLAB的NAGFoundationToolbox中的函數(shù)形式、說明以及應(yīng)用例子可以查閱幫助信息。例如,鍵入helpe02daf便會出現(xiàn)函數(shù)e02daf的較詳細(xì)說明。在函數(shù)末尾加e便是應(yīng)用的例子,如鍵入typee02daf,會顯示函數(shù)e02daf的應(yīng)用例子程序,鍵入e02daf,那么運(yùn)行該程序,并顯示其計算結(jié)果。MATLAB軟件提供了根本的曲線擬合函數(shù)的命令.多項(xiàng)式函數(shù)擬合:a=polyfit(xdata,ydata,n)其中n表示多項(xiàng)式的最高階數(shù),xdata,ydata為將要擬合的數(shù)據(jù),它是用數(shù)組的方式輸入.輸出參數(shù)a為擬合多項(xiàng)式的系數(shù)多項(xiàng)式在x處的值y可用下面程序計算.y=polyval(a,x)一般的曲線擬合:p=curvefit(‘Fun’,p0,xdata,ydata)其中Fun表示函數(shù)Fun(p,data)的M函數(shù)文件,p0表示函數(shù)的初值.curvefit()命令的求解問題形式是假設(shè)要求解點(diǎn)x處的函數(shù)值可用程序f=Fun(p,x)計算.例如函數(shù)形式,并且數(shù)據(jù)點(diǎn)要確定四個未知參數(shù)a,b,c,d.使用curvefit命令,數(shù)據(jù)輸入;初值輸;并且建立函數(shù)的M文件〔Fun.m〕.假設(shè)定義,那么輸出又如引例的求解,MATLAB程序:t=[l:16];%數(shù)據(jù)輸人y=[46.488.49.289.59.79.8610.210.3210.4210.510.5510.5810.6];plot(t,y,’o’)%畫散點(diǎn)圖p=polyfit(t,y,2)(二次多項(xiàng)式擬合〕計算結(jié)果:p=-0.04451.07114.3252%二次多項(xiàng)式的系數(shù)由此得到某化合物的濃度y與時間t的擬合函數(shù)matlab曲線擬合后表達(dá)式怎么輸出懸賞分:0|

解決時間:2023-5-911:51

|

提問者:meiyoudeyuwan新手呀。。擬合圖像已經(jīng)做出來了函數(shù)中常量a,b,c....也知道,有沒有直接輸出函數(shù)的方法??最正確答案你是用什么擬合的要是多項(xiàng)式擬合的就用p是擬合的結(jié)果f=poly2sym(p)f=3*x^5+5*x^4+x^2+12要是用lsqcurvefit你就在用subs把結(jié)果帶入函數(shù)就好了matlab用隱函數(shù)擬合的程序怎么編寫懸賞分:100|

解決時間:2023-5-2716:06

|

提問者:liusy3132試驗(yàn)測試得到x,y數(shù)據(jù)?,F(xiàn)在想通過用matlab用隱函數(shù)y=I1*exp((x-y*Rs)/0.026/n1)+I2*exp((x-y*Rs)/0.026/n2)+(x-y*Rs)/Rsh-I1-I2+IL對數(shù)據(jù)進(jìn)行擬合。得到參量I1、I2、IL、Rs、Rsh、n1、n2的數(shù)值。請高手幫助。急先謝謝了。問題補(bǔ)充:自變量x從0到1,每0.05取一個點(diǎn)。對應(yīng)的y值如下:0,4.84827E-90.05,7.20861E-90.1,9.486E-90.15,1.33346E-80.2,1.85467E-80.25,2.54804E-80.3,3.57885E-80.35,4.94846E-80.4,6.86021E-80.45,9.34068E-80.5,1.36416E-70.55,2.18504E-70.6,4.51033E-70.65,1.2785E-60.7,4.57114E-60.75,1.70904E-50.8,5.62476E-50.85,1.45646E-40.9,2.93975E-40.95,4.91251E-41,7.21464E-4y軸用的是指數(shù)坐標(biāo)。最正確答案clear;clcF=@(p,x)p(1)*exp((x(:,1)-x(:,2)*p(4))/0.026/p(6))+p(2)*exp((x(:,1)-x(:,2)*p(4))/0.026/p(7))+(x(:,1)-x(:,2)*p(4))/p(5)-p(1)-p(2)+p(3)-x(:,2);x=[0,4.84827E-90.05,7.20861E-90.1,9.486E-90.15,1.33346E-80.2,1.85467E-80.25,2.54804E-80.3,3.57885E-80.35,4.94846E-80.4,6.86021E-80.45,9.34068E-80.5,1.36416E-70.55,2.18504E-70.6,4.51033E-70.65,1.2785E-60.7,4.57114E-60.75,1.70904E-50.8,5.62476E-50.85,1.45646E-40.9,2.93975E-40.95,4.91251E-41,7.21464E-4];p0=[354109104];%%因?yàn)槟氵@個函數(shù)很變態(tài),初值選擇不好得不到好結(jié)果,這個初值不錯warningoffp=nlinfit(x,zeros(size(x,1),1),F,p0);disp('I1、I2、IL、Rs、Rsh、n1、n2分別為:');disp(num2str(p));plot(x(:,1),x(:,2),'ro');holdon;ezplot(@(x,y)F(p,[x,y]),[0,1,-1e-3,1e-3]);title('曲線擬合');legend('樣本點(diǎn)','擬合曲線')5Matlab樣條擬合函數(shù)懸賞分:20|

解決時間:2023-9-708:35

|

提問者:happyday0912用Matlab中的最小二乘法擬合生成樣條曲線,其中有這樣一個函數(shù),sp=spaps(x,y,tol),它有個輸出參數(shù)是sp,代表擬合得到的樣條函數(shù),我想問能得到它的具體的函數(shù)表達(dá)式嗎?如果能,應(yīng)該怎么得到?謝謝最正確答案答案是可以得到具體表達(dá)式。先運(yùn)行sp=spaps(x,y,tol);得到結(jié)果后運(yùn)行>>sp.coefs得到每個多項(xiàng)式的系數(shù)向量,其實(shí)也就是多項(xiàng)式函數(shù)的具體表達(dá)式,相信你能看得出來。matlab非線性擬合問題懸賞分:170|

解決時間:2023-1-2519:07

|

提問者:aweto_mmf=J*Ld/Li(1-exp〔-Ld/Li〕),Ld=t*〔Voc-x〕在函數(shù)中J=21.18、Li=1*e-6、Voc=0.418。f和X可以給定一系列值如下:xf51.885-21.482386.4-21.0836134.73-20.98485157.74-20.90685240.6-20.30025321.15-19.5936374.05-16.960725通過擬合求t各位大俠越詳細(xì)越好哦!希望給出程序代碼及標(biāo)注!再次感謝!!最正確答案要新建兩個文件:主文件,test.m------------------------------------------------------------------------------functiontestclearclcx=[51.885;86.4;134.73;157.74;240.6;321.15;374.05];f=[-21.4823;-21.0836;-20.98485;-20.90685;-20.30025;-19.5936;-16.960725];ft=fittype('fit_func(x,t)');cfun=fit(x,f,ft,'StartPoint',-0.01);%開始擬合cfun%輸出擬合參數(shù)等plot(cfun,x,f)%畫出擬合后曲線和原始數(shù)據(jù)點(diǎn)end函數(shù)文件,用于自定義的函數(shù):fit_func.m------------------------------------------------------------------------------functionf=fit_func(x,t)J=21.18;Li=1e-6;Voc=0.418;Ld=t*(Voc-x);f=J*Ld./(Li*(1-exp(-Ld/Li)));end------------------------------------------------------------------------------可以保證運(yùn)行輸出結(jié)果,運(yùn)行后自動繪出曲線和原始數(shù)據(jù)點(diǎn),但是結(jié)果可能不會令人滿意。我不保證編碼時完全正確,但根本思想就是這樣。你需要仔細(xì)檢查代碼,試著調(diào)正fit函數(shù)中StartPoint,還有其他選項(xiàng)〔參見文檔中fitoptions的說明〕,直到曲線和數(shù)據(jù)點(diǎn)吻合到滿意為止。當(dāng)然也可能是該函數(shù)不是這批數(shù)據(jù)點(diǎn)的理想模型,換成別的會更好。如何根據(jù)一些離散點(diǎn),用matlab擬合函數(shù),函數(shù)未知,急!急!懸賞分:25|

提問時間:2023-7-1917:58

|

提問者:matlablhlz=[0.012,0.022,0.032,0.042,0.052,0.062,0.072,0.082,0.092,0.102,0.112,0.122,0.132,0.202,0.302,0.402,0.502,1.002,2.002,10.002,20.002];NU=[8.0239,6.7271,6.0510,5.6209,5.3188,5.0939,4.9198,4.7812,4.6684,4.5751,4.4968,4.4303,4.3731,4.1216,3.9713,3.8931,3.8460,3.7516,3.7042,3.6663,3.6615]需要得到NU和z的關(guān)系式。問題補(bǔ)充:函數(shù)關(guān)系式為NU=3.66+a1*x^a2/(1+a3*x^a3),如何確定a1,a2,a3,a4答:看離散點(diǎn)的關(guān)系應(yīng)該是指數(shù)的吧,你建立一個指數(shù)的方程,轉(zhuǎn)化成線性的,用最小二乘就可以了matlab非線性最小二乘擬合懸賞分:100|

解決時間:2023-5-910:07

|

提問者:lmks000我有801個點(diǎn)是由實(shí)驗(yàn)測得的數(shù)據(jù)?,F(xiàn)有公式U1=1+((wd^2)*xd0*(wd^2-w^2))/((wd^2-w^2)^2+w^2*b^2)+xs0*ws^2*((ws^2-w^2)^2+w^2*a^2)其中U1是測量值〔因變量〕,w是自變量,也是條件。其他六個未知數(shù)需要通過最小二乘擬合同時得到最優(yōu)值。我是菜鳥,所以希望大牛們能說清楚一些。最好是能給出程序框架,我自己吧自變量因變量帶進(jìn)去搞出來。搞定之后追加分.先謝謝啦有問題麻煩用qq問我278663192問題補(bǔ)充:非線性的有人做出來擬合結(jié)果了只是我查不到程序你說得很對,我也發(fā)現(xiàn)結(jié)果是初值敏感的。但這是所不希望的。能不能有更好的解決方法呢?幫幫助吧!謝謝你啦最正確答案MATLAB的最優(yōu)化工具箱中提供了lsqcurvefit()函數(shù),可以解決最小二乘曲線擬合的問題,改函數(shù)的調(diào)用格式為:[a,J]=lsqcurvefit(Fun,a0,x,y)其中,F(xiàn)un未原型函數(shù)的MATLAB表示,a0未最優(yōu)化的初值,x,y為原始輸入輸出數(shù)據(jù)向量,調(diào)用該函數(shù)將可以返回待定系數(shù)向量a以及在此待定系數(shù)下的目標(biāo)函數(shù)的值J.〔詳細(xì)可以輸入helplsqcurvefit〕具體做法是:>>U1=inline('f(a,w)','a','w')%用a〔i〕分別代替六個未知數(shù),i=1~6.>>[xx,res]=lsqcurvefit(U1,[111111],w,U);xx'%w和U是你試驗(yàn)得出來的數(shù)據(jù)向量。結(jié)果應(yīng)該會出現(xiàn)一個ans向量〔6維〕,分別就是你所要待定的系數(shù)a〔i〕了matlb中函數(shù)擬合后如何用符號輸出擬合多項(xiàng)式懸賞分:20|

解決時間:2023-5-1408:49

|

提問者:StayGallant我用matlab進(jìn)行多項(xiàng)式擬合擬合之后我想將結(jié)果表示成多項(xiàng)式的形式進(jìn)行輸出忘記是怎么輸出的了調(diào)試?yán)鲜浅鲥e請各位大蝦指點(diǎn):A=[1,2,3,4];B=[5,6,7,8];temp=polyfit(A,B,1);symsx;y=polyval(temp,x)錯在哪里了,正確的方式應(yīng)該是什么?最正確答案A=[1,2,3,4];B=[5,6,7,8];temp=polyfit(A,B,1);y=poly2sym(temp,'x')結(jié)果:y=x+4matlab實(shí)現(xiàn)分段曲線擬合懸賞分:30|

提問時間:2023-5-1516:34

|

提問者:antyyy|問題為何被關(guān)閉由于前兩個點(diǎn)差異很大,完全不符合整體趨勢〔確實(shí)是有效點(diǎn)〕,用polyfit()擬合出的曲線很差,都被第一個點(diǎn)弄亂了。老師說應(yīng)把前三個點(diǎn)和后面的分開,進(jìn)行雙次擬合??墒窃趺匆惠敵鲆粭l平滑的曲線,簡單的分兩次擬合的曲線怎么連在一起?或者,有什么方法可以直接生成一條符合要求的曲線。。。其他答復(fù)共1條那肯定是分段函數(shù)先用前三個點(diǎn)建立一個函數(shù)再用后面的地建立一個函數(shù)如何用MATLAB對一個函數(shù)圖擬合得到比擬準(zhǔn)確的公式?懸賞分:100|

解決時間:2023-4-2522:05

|

提問者:kaigoal就是上傳的圖片里面中間那條曲線〔Global)問題補(bǔ)充:能不能給出詳細(xì)的程序?最正確答案圖片太小,看不清楚,但是我給出一個別的例子(這個例子是我們老師上課時演示過的例子),跟你這個類似,可以參考一下,無論別人怎樣答復(fù),你都要知道m(xù)atlab中用到的函數(shù)名的功能,自己一步步輸入數(shù)據(jù)執(zhí)行。舉例:某鎮(zhèn)近20年〔79-98〕的人口統(tǒng)計為:3.90,5.30,7.20,9.60,12.90,17.10,23.10,31.400,38.60,50.20,62.90105.70179.0205.00,226.5試分別用一階,二階,四階多項(xiàng)式和指數(shù)曲線擬合人口對年份的曲線。pop1=[3.905.307.209.6012.9017.1023.1031.400]pop2=[38.6050.2062.9076.092.0105.7022.80]pop3=[131.70150.70179.0205.0226.50];pop=[pop1,pop2,pop3]'cdate=1979:1998;cdate=cdate'p=polyfit(cdate,pop,4)會出現(xiàn):Matrixisclosetosingularorbadlyscaled.Resultsmaybeinaccurate.RCOND=3.000002e-024.>InD:\toolbox\matlab\polyfun\polyfit.matline52Inc:\matlabbk\qx2.matline7應(yīng)對cdate進(jìn)行數(shù)據(jù)預(yù)處理,方法為:sdate=(cdate-mean(date))./std(cdate)對應(yīng)的腳本程序?yàn)椋簆op1=[3.905.307.209.6012.9017.1023.1031.400]pop2=[38.6050.2062.9076.092.0105.7022.80]pop3=[131.70150.70179.0205.0226.50]pop=[pop1,pop2,pop3]'cdate=1979:1998;cdate=cdate'sdate=(cdate-mean(cdate))./std(cdate)p=polyfit(sdate,pop,4)運(yùn)行該文件,可得到多項(xiàng)式的擬合曲線和誤差曲線。將預(yù)處理的人口數(shù)據(jù)的對數(shù),進(jìn)行一次擬合,對應(yīng)的腳本程序?yàn)椋簆op1=[3.905.307.209.6012.9017.1023.1031.400]pop2=[38.6050.2062.9076.092.0105.7022.80]pop3=[131.70150.70179.0205.0226.50]pop=[pop1,pop2,pop3]'cdate=1979:1998;cdate=cdate'sdate=(cdate-mean(cdate))./std(cdate)logp1=polyfit(sdate,log10(pop),1)logpred1=10.^polyval(logp1,sdate)semilogy(cdate,logpred1,'-',cdate,pop,'+')gridon得到的結(jié)果是:10y=1.5944(10.^0.5211x)問題的關(guān)鍵在于你要事先觀察數(shù)據(jù)連成的點(diǎn)符合什么分布,然后用這個分布去擬合,得到相應(yīng)的參數(shù),方差〔最小二乘法〕,方差小的即為所要的曲線分布。希望對你有幫助。如何用matlab擬合模型分段函數(shù)懸賞分:5|

解決時間:2023-9-2610:50

|

提問者:chinatongue實(shí)驗(yàn)數(shù)據(jù)和圖見水木論壇有一組實(shí)驗(yàn)數(shù)據(jù),t表示時間,v表示電壓數(shù)據(jù)如后所見。我現(xiàn)在編寫一個m文件,試圖分段擬合,但得不到預(yù)期的效果。如果是分開擬合,那么效果很好。估計是這樣編寫的分段擬合不對,請大俠指教更好的程序。下面是我編寫的m文件fun1=inline('4.213-300*x/ref(1)-300*(ref(2)+ref(3))+300*ref(3)*exp(-x/(ref(3)*ref(4)))','ref','x')fun2=inline('4.213-3000/ref(1)-300*ref(3)*exp(-x/(ref(3)*ref(4)))*(exp(10/(ref(3)*ref(4)))-1)','ref','x')ift<=10abc=nlinfit(t,v,fun1,[518910.000830.0001312050]);elseabc=nlinfit(t,v,fun2,[518910.000830.0001312050]);endCb=abc(1),R0=abc(2),Rp=abc(3),Cp=abc(4)ift<=10vv=4.213-300*t/Cb-300*(R0+Rp)+300*Rp*exp(-t/(Rp*Cp))elsevv=4.213-3000/Cb-300*Rp*exp(-t/(Rp*Cp))*(exp(10/(Rp*Cp))-1)endplot(t,v,'*',t,vv)問題補(bǔ)充:fun1=inline('4.213-300*x/ref(1)-300*(ref(2)+ref(3))+300*ref(3)*exp(-x/(ref(3)*ref(4)))','ref','x');fun2=inline('4.213-3000/ref(1)-300*ref(3)*exp(-x/(ref(3)*ref(4)))*(exp(10/(ref(3)*ref(4)))-1)','ref','x');fun=@(ref,t)((t<=10).*fun1(ref,t)+(t>10).*fun2(ref,t));abc=nlinfit(t',v,fun,[518910.000830.0001312050]');plot(t,v);holdon;f=@(t)(fun(abc,t));fplot(f,[0,50],'r')該方案不行哦,只要稍微改變初始化條件,擬合結(jié)果差距就非常非常大?。。?!最正確答案你要知道,你要擬合的是一個分段函數(shù),這本身就不是一般的連續(xù)光滑函數(shù)。nlinfit之所以要有初值這一項(xiàng),就是考慮到在某些變態(tài)的情況下,無法找到最小二乘函數(shù)的最小值,可能是一個局部的最小值,也可能根本找不到,所以有必要通過改變迭代初值的方法進(jìn)行試驗(yàn)。對于這種分段函數(shù),最好的方法還是分段擬合。fun1=inline('4.213-300*x/ref(1)-300*(ref(2)+ref(3))+300*ref(3)*exp(-x/(ref(3)*ref(4)))','ref','x');fun2=inline('4.213-3000/ref(1)-300*ref(3)*exp(-x/(ref(3)*ref(4)))*(exp(10/(ref(3)*ref(4)))-1)','ref','x');fun=@(ref,t)((t<=10).*fun1(ref,t)+(t>10).*fun2(ref,t));t=0:0.1:50;v=[3.9693.9633.9593.9553.9523.9493.9473.9453.9433.9413.9393.9383.9363.9353.9333.9323.933.9293.9283.9273.9263.9253.9233.9223.9213.923.9193.9183.9173.9163.9153.9143.9133.9123.9113.913.9093.9083.9073.9073.9063.9053.9043.9033.9033.9023.9013.93.93.8993.8983.8983.8973.8963.8963.8953.8943.8933.8933.8923.8913.8913.893.8893.8893.8883.8883.8873.8873.8863.8863.8853.8843.8843.8833.8823.8823.8813.883.883.8793.8793.8783.8783.8773.8773.8763.8763.8753.8753.8743.8743.8733.8733.8723.8723.8713.873.873.8693.8694.1054.1084.114.1124.1144.1154.1164.1174.1184.1194.1194.124.124.1214.1224.1224.1234.1234.1244.1244.1244.1254.1254.1264.1264.1264.1274.1274.1284.1284.1294.1294.1294.1294.1294.134.134.134.134.134.1314.1314.1314.1314.1324.1324.1324.1324.1324.1324.1334.1334.1334.1334.1334.1344.1344.1344.1344.1344.1344.1354.1354.1354.1354.1354.1364.1364.1364.1364.1364.1374.1374.1384.1384.1384.1394.1394.1394.1394.1394.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.1414.1414.1414.1414.1414.1414.1414.1414.1414.1414.1424.1424.1424.1424.1424.1424.1424.1424.1424.1424.1434.1434.1434.1434.1434.1434.1434.1434.1434.1434.1434.1434.1434.1444.1444.1444.1444.1444.1444.1444.1444.1444.1444.1444.1454.1454.1454.1454.1454.1454.1454.1454.1454.1454.1454.1454.1454.1454.1454.1454.1464.1464.1464.1464.1464.1464.1464.1464.1464.1464.1464.1464.1464.1474.1474.1474.1474.1474.1474.1474.1474.1474.1474.1474.1474.1474.1474.1474.1484.1484.1484.1484.1484.1484.1484.1484.1484.1484.1484.1484.1484.1484.1484.1484.1484.1494.1494.1494.1494.1494.1494.1494.1494.1494.1494.1494.1494.1494.1494.1494.1494.154.154.154.154.154.154.154.154.154.154.154.154.154.154.154.154.154.154.154.154.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1514.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1524.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1534.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1544.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1554.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.1564.156];abc=nlinfit(t',v,fun,[518910.000830.0001312050]');plot(t,v);holdon;f=@(t)(fun(abc,t));fplot(f,[0,50],)'r'怎么用matlab進(jìn)行非線性的多元函數(shù)擬合?懸賞分:20|

解決時間:2007-8-1610:12

|

提問者:ipcctv如題,請教各位高手,怎么用matlab進(jìn)行非線性的多元函數(shù)擬合?例如:因變量y自變量X1X2X3X41658111717153253191797122826184378291850137958206422322205146100424756584可以擬合為線性y=a*x1+b*x2+c*x3+d*x4的形式以及非線性的形式。不知道m(xù)atlab里面有沒有函數(shù)可以擬合上面的函數(shù),拜托高手賜教!謝謝各位問題補(bǔ)充:分別第一列是y的值,第二列示x1的值,第三列示x2的值,第四列示x3的值,最后一列是x4的值。最正確答案用regress函數(shù),線性回歸A=[1658111717153253191797122826184378291850137958206422322205146100424756584]y=A(:,1),x=A(:,2:5)B=REGRESS(y,x)a=B(1),b=B(2),c=B(3),d=B(4)結(jié)果:A=1658111717153253191797122826184378291850137958206422322205146100424756584y=1658179718502205x=111717153253191228261843782913795820642232146100424756584B=53.3747-5.4253-7.38460.0297a=53.3747b=-5.4253c=-7.3846d=0.0297檢驗(yàn)Y=x*BY=1.0e+003*1.65801.79701.85002.2050相關(guān)系數(shù)等于1,線性回歸非常成功載入外部數(shù)據(jù)的MATLAB曲線擬合函數(shù)的問題!懸賞分:15|

解決時間:2023-5-2708:25

|

提問者:F_Inuyasha已經(jīng)把需要的數(shù)據(jù)分別存到兩個文件里,分別問d和t請問怎么進(jìn)行曲線擬合!如果好可以追加給分!問題補(bǔ)充:數(shù)據(jù)都是txt格式的,直接用polyfit擬合就行!謝謝!最正確答案擬合的程序nhfun是藥擬合的函數(shù)保存在nhfun的m文件里%functiony=nhfun(x,xdata)%y=x(1)+x(2).*xdata+x(3)*xdata.^2;clearallclcxdata=load('d');%最好把路徑加上ydata=load('t');%最好把路徑加上x0=[0,0,5];b=lsqcurvefit(@nhfun,x0,xdata,ydata)t1=0:0.01:12;c1=b(1)+b(2)*t1+b(3)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論