我可以在Matlab中用一組x,y點繪製迴歸線。但是,如果我有一組點(如下圖),說我有四組點,我想爲它們繪製四條迴歸線......我該怎麼做?所有點都保存在x,y中。沒有辦法將它們分開,並將它們分成四組不同的變量。Matlab中的點集羣的迴歸行
看到下面的圖片。忽略傳說和標籤。任何想法如何在Matlab中做到這一點?如果只有一個羣集,我可以做到。但我想一次爲所有四個集羣做。我現在使用的一個集羣
代碼:
%----------- Linear regression -----------------
p= polyfit(x,y,1);
f= polyval(p,x);
%----------- Call R-square function ------------
r2=Rsquare(x,y,p);
%------------- Plot data -----------------------
figure()
plot(x,y,'*k');hold on
plot(x,f,'-r'); % show linear fit
xlabel('index');
ylabel('Intensity a.u.');
title('Test: Linear regreesion && R-square');
%------- Show y-data on current figure ---------
[row col]=size(y);
for i=1:col
str=num2str(y(i));
text(x(i),y(i),str,'Color',[0 0 1]);
end
%--Show linear equation on current figure -------
m1=num2str(p(1));c1=num2str(p(2));Rsquare1=num2str(r2(1));
text(1.05,80,['y= ',m1,'x+',c1,' , R^2= ',Rsquare1,'.'],'FontSize',10,'FontName','Times New Roman');
你可以發佈你的代碼,適用於一組o f分? – darthbith
添加到帖子中。請檢查。 – ridctg
你可以使用矩陣索引,比如'polyfit(x(1:10),y(1:10),1)'?爲什麼你不能將它們分解成單獨的變量? – darthbith