① matlab中怎麼調用已經用excel導入的矩陣對兩組數據進行最小二乘擬合
matlab中可以採用
polyfit
用於多項式曲線擬合(最小二乘法原理)
p=polyfit(x,y,m)
其中,
x,
y為已知數據點向量,
分別表示橫,縱坐標,
m為擬合多項式的次數,
結果返回m次擬合多項式系數,
從高次到低次存放在向量p中.
更多可見matlab的幫助文檔.
② 用MATLAB處理EXCEL中一列共100000個數據,請問如何將數據導入並將數據做正態曲線擬合
首先用
data=xlsread('文件名');
讀入execel文件中的數據,得到的data應該就是一列100000個數的矩陣
[mu sigma]=normfit(data); %正態分布擬合,得到平均值mu和標准差sigma
%----------------------
[n x]=hist(data,100); %將原數據分100個區間統計
bar(x,n/100000/mean(diff(x)),1);hold on; %用條狀圖畫出統計的概率
plot(x,normpdf(x,mu,sigma,'r');hold off;%用紅線畫出正態分布擬合曲線
legend('統計概率','擬合曲線');
得到的mu是平均值,sigma是標准差,方差就是標准差的平方
③ 怎麼在matlab處理excel 表格 matlab的函數的擬合和求導
你試試 xlsread 命令 將excel 導入matlab,然後用matlab 對數據進行處理
④ 把附件中的數據導入到 matlab中進行擬合,求出它的9階曲線。
1、文件在任何位置。如果是Excel文件,可用xlsread()函數實現,具體用法參考matlab-help
如果是txt文件,可用textscan()函數實現,參考matlab-help。
2 、將需要導入的數據文件放在當前運行的matlab跟目錄下(current folder),直接用load()函數即可實現數據導入,這種方法可以導入excel、txt、mat等文件類型。
曲線的擬合也可以通過兩種方法實現。
1 直接調用函數,polyfit()對數據進行擬合。
2 利用matlab的擬合工具箱實現。步驟如下
(1) 假設需要擬合的數據為x,y,利用plot(x,y)畫出x,y的關系圖。
(2) 在畫出的圖中找到tools(工具)-Basic-fitting(基本擬合)-polynomial(多項擬合),其中(9th degree polynomial)即為9階擬合結果,點擊右下角的->符號,就可看到多項式擬合結果參數。
⑤ 用matlab如何將excle中的數據擬合成多元非線性函數並做出圖,能不能寫成
由於你沒有具體的數據結構,無法為你提供具體的代碼。只能將「用matlab如何將excle中的數據擬合成多元非線性函數並做出圖」的實現步驟說明如下:
首先,用xlsread()函數來讀取excel 的數據。並賦值給A
A=xlsread('xxx.xls')
第二,由矩陣A,提取y,x1,x2,x3,。。。
y=A(:,1),x1=A(:,2),x2=A(:,3),。。。
第三,根據y,x1,x2,x3數據,初定擬合多元非線性函數的形式(此過程需要調整)
func=@(a,x) 多元非線性函數表達式
第四,用lsqcurvefit()或nlinfit()函數來擬合多元非線性函數的系數
a=lsqcurvefit(func,a0,x,y); 或 a=nlinfit(x,y,func,a0);
第五,用corrcoef()函數來判別擬合效果
y=A(:,1)
y1=func(a,x)
R2=corrcoef(y1,y); 當R2≈1,則擬合是比較合理的。
如你有具體的數據,可以復制到私信上,進一步交流。
⑥ 怎麼用matlab或excel做某個線性曲線擬合
matlab中可用函數polyfit函數進行曲線擬合,用法polyfit(x,y,n)n為擬合的階數!
⑦ 如何使用matlab擬合工具箱
1.打開CFTOOL工具箱。
在Matlab 6.5以上的環境下,在左下方有一個"Start"按鈕,如同Windows的開始菜單,點開它,在目錄"Toolboxes"下有一個"Curve Fitting",點開"Curve Fitting Tool",出現數據擬合工具界面,基本上所有的數據擬合和回歸分析都可以在這里進行。也可以在命令窗口中直接輸入」cftool」,打開工具箱。
2.輸入兩組向量x,y。
首先在Matlab的命令行輸入兩個向量,一個向量是你要的x坐標的各個數據,另外一個是你要的y坐標的各個數據。輸入以後假定叫x向量與y向量,可以在workspace裡面看見這兩個向量,要確保這兩個向量的元素數一致,如果不一致的話是不能在工具箱裡面進行擬合的。 例如在命令行里輸入下列數據: x = [196,186, 137, 136, 122, 122, 71, 71, 70, 33]; y = [0.012605; 0.013115; 0.016866; 0.014741; 0.022353; 0.019278; 0.041803; 0.038026; 0.038128; 0.088196];
3.數據的選取。
打開曲線擬合共工具界面,點擊最左邊的"Data..."按鈕,出現一個Data對話框,在Data Sets頁面里,在X Data選項中選取x向量,Y Data選項中選取y向量,如果兩個向量的元素數相同,那麼Create data set按鈕就激活了,此時點擊它,生成一個數據組,顯示在下方Data Sets列表框中。關閉Data對話框。此時Curve Fitting Tool窗口中顯示出這一數據組的散點分布圖。
4.曲線擬合(冪函數power)。
點擊Fitting...按鈕,出現Fitting對話框,Fitting對話框分為兩部分,上面為Fit Editor,下面為Table of Fits,有時候窗口界面比較小,Fit Editor部分會被收起來,只要把Table of Fits上方的橫條往下拉就可以看見Fit Editor。在Fit Editor裡面點擊New Fit按鈕,此時其下方的各個選框被激活,在Data Set選框中選中剛才建立的x-y數據組,然後在Type of fit選框中選取擬合或回歸類型,各個類型的擬合或回歸相應的分別是: Custom Equations 用戶自定義函數 Expotential e指數函數 Fourier 傅立葉函數,含有三角函數 Gaussian 正態分布函數,高斯函數 Interpolant 插值函數,含有線性函數,移動平均等類型的擬合 Polynomial 多項式函數 Power 冪函數 Rational 有理函數(不太清楚,沒有怎麼用過) Smooth Spline (光滑插值或者光滑擬合,不太清楚) Sum of sin functions正弦函數類
在這個Type of fit選框中選擇好合適的類型,並選好合適的函數形式。於是點擊Apply按鈕,就開始進行擬合或者回歸了。此時在Curve Fitting Tool窗口上就會出現一個擬合的曲線。這就是所要的結果。 在上面的例子中,選擇sum of sin functions中的第一個函數形式,點擊Apply按鈕,就可以看見擬合得到的正弦曲線。
⑧ 如何將MATLAB工具箱載入到2007版的excel中
方法/步驟:
1、在2007版本excel中在工具欄右鍵點擊「自定義快速訪問工具欄」,
2、選擇命令下拉窗口「所有命令」,在下面找到「載入宏」命令,確定後在左上方會出現綠色球狀圖標既是「載入宏」命令,
3、點擊則出現一個窗口,點擊「瀏覽」找到MATLAB安裝文件下toolbox文件,找到exlink子目錄中的excllink.xla文件,然後點擊確定即可。
⑨ matlab 如何用一列Excel數據做對數正態分布擬合曲線
closeall;
clearall;
data=xlsread('數據.xls','sheet1');%讀入數據
[yx]=hist(data,100);%統計頻次分布
figure('Color','w');h=bar(x,y,1);%畫直方圖
set(h,'EdgeColor',[0.50.50.5],'FaceColor',[0.50.50.5]);
holdon;
%對數正態分布密度函數
)p(1)./x.*exp(-((log(x)-p(2))/p(3)).^2/2);
[maxyind]=max(y);
%做非線性數據擬合
p=nlinfit(x,y,fun,[maxy*x(ind),log(x(ind)),1]);
%畫擬合曲線
x1=min(x):0.01:max(x);
yfit=fun(p,x1);
plot(x1,yfit,'k','linewidth',3);
[ymaxi]=max(yfit);%找到極值點
xm=x1(i);
plot([xmxm],[0ymax+10],'k','linewidth',3);%畫豎線
xlim([min(x)max(x)]);
xlabel('BC濃度(ng/m^3)');
ylabel('頻數');