123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- function [Regression, f] = GetLinearRegression(x,y,varargin)
- if isempty(varargin)
- flag=0;
- f=0;
- else
- flag=1;
- g = varargin{1};
- end
- j=1;
- for i=1:length(x)
- if ~isnan(x(i)) && ~isnan(y(i))
- x1(j)=x(i); y1(j)=y(i);
- j=j+1;
- end
- end
- if exist('x1')
- [r, p] = corrcoef(x1,y1);
- Regression.R=r(1,2);
- Regression.Rsquared=r(1,2)^2;
- Regression.Pvalue=p(1,2);
- if flag
- [a] = polyfit(x1,y1,1);
- f=polyval(a,x1);
- [r2, rmse] = rsquare(y1,f);
- Regression.a0=a(2); Regression.a1=a(1); % f(x) = a0 + a1*x
- Regression.x2=[g.XLim(1) g.XLim(2)];
- Regression.y2=Regression.a0+Regression.a1*Regression.x2;
- end
- else
- Regression.R=NaN;
- Regression.Rsquared=NaN;
- Regression.Pvalue=NaN;
- end
- % p3=plot(x2,y2,'k-');
- % p3.LineWidth=2;
- % deltaY=(g.YLim(2)-g.YLim(1))/10;
- % deltaX=(g.XLim(2)-g.XLim(1))/10;
-
- % t1=text((g.XLim(1)+3*deltaX), (g.YLim(2)-4*deltaY),['p-value : ' num2str(round(Pvalue,3))]);
- % t1.FontSize=fontsize.axis; t1.FontWeight='bold';
- % t2=text((GCA.XLim(1)+3*deltaX), (GCA.YLim(2)-3*deltaY),['r-squared : ' num2str(round(Rsquared,3))]);
- % t2.FontSize=fontsize.axis; t2.FontWeight='bold';
- % t3=text((g.XLim(1)+3*deltaX), (g.YLim(2)-2*deltaY),['r : ' num2str(round(r(1,2),3))]);
- % t3.FontSize=15; t3.FontWeight='bold';
- %
|