回归与内插

Simple Linear Regression:

>> x=[-1.2,-0.5,0.3,0.9,1.8,2.6,3.0,3.5];
>> y=[-15.6,-8.5,2.2,4.5,6.6,8.2,8.9,10.0];
>> fit=polyfit(x,y,1);
>> xfit=[x(1):0.1:x(end)];
>> yfit=fit(1)*xfit+fit(2);
>> plot(x,y,'ro',xfit,yfit);
>> set(gca,'FontSize',14);
>> legend('data poins','best-fit');

在这里插入图片描述
Exercise:

x=[0.025,0.035,0.050,0.060,0.080];
y=[20,30,40,50,60];
fit(x,y,1);
xfit=[x(1):0.1:x(end)];
yfit=fit(1)*xfit+fit(2);
fit(1)
fit(2)
plot(x,y,'ro',xfit,yfit);
set(gca,'FontSize',14);

Are x and y Linear Correlated?

x=[-1.2,-0.5,0.3,0.9,1.8,2.6,3.0,3.5];
y=[-15.6,-8.5,2.2,4.5,6.6,8.2,8.9,10.0];
scatter(x,y);
box on;
axis square;
corrcoef(x,y)

在这里插入图片描述
在这里插入图片描述
Higher Order Polynomials:

x=[-1.2,-0.5,0.3,0.9,1.8,2.6,3.0,3.5];
y=[-15.6,-8.5,2.2,4.5,6.6,8.2,8.9,10.0];
figure('Position',[50 50 1500 400]);
for i=1:3
    subplot(1,3,i);p=polyfit(x,y,i);
    xfit=x(1):0.1:x(end);
    yfit=polyval(p,xfit);
    plot(x,y,'ro',xfit,yfit);set(gca,'FontSize',14);
    ylim([-17,11]);legend('Data points','Fitted curve');
end

在这里插入图片描述
What If There Exists More Variables?
Multiple Linear Regression:regress()
Interpolation vs Regression?
Linear Interpolation:interp1()

x=linspace(0,2*pi,40);
x_m=x;
x_m([11:13,28:30])=NaN;y_m=sin(x_m);
plot(x_m,y_m,'ro','MarkerFaceColor','r');
xlim([0,2*pi]);ylim([-1.2,1.2]);box on;
set(gca,'FontSize',16);
set(gca,'XTick',0:pi/2:2*pi);
set(gca,'XTickLabel',{'0','p/2','3p/2','2p'});
m_i=~isnan(x_m);
y_i=interp1(x_m(m_i),y_m(m_i),x);
hold on
plot(x,y_i,'-b','LineWidth',2);
hol off;

在这里插入图片描述
Spline Interpolation:spline()

x=linspace(0,2*pi,40);
x_m=x;
x_m([11:13,28:30])=NaN;y_m=sin(x_m);
plot(x_m,y_m,'ro','MarkerFaceColor','r');
xlim([0,2*pi]);ylim([-1.2,1.2]);box on;
set(gca,'FontSize',16);
set(gca,'XTick',0:pi/2:2*pi);
set(gca,'XTickLabel',{'0','p/2','3p/2','2p'});
m_i=~isnan(x_m);
hold on;
y_i=interp1(x_m(m_i),y_m(m_i),x);
plot(x,y_i,'-b','LineWidth',2);
hold on;
y_i=spline(x_m(m_i),y_m(m_i),x);
plot(x,y_i,'-g','LineWidth',2);
h=legend('Originl','Linear','Spline');
hold off;

在这里插入图片描述
What Are Splines?
EXercise:

x=[0:0.25:2.25];
x_m=x;
y_m=[1.2,1.18,1.1,1,0.92,0.8,0.7,0.55,0.35,0];
plot(x_m,y_m,'o');
xlim([0,2.5]);ylim([0,1.4]);box on;
set(gca,'FontSize',16);
xlabel('x(ft)');ylabel('y(ft)');
title('Data & Fit Model');
m_i=~isnan(x_m);
y_i=interp1(x_m(m_i),y_m(m_i),x);
hold on;
plot(x,y_i,'-b','LineWidth',1);
y_i=spline(x_m(m_i),y_m(m_i),x);
plot(x,y_i,'-g','LineWidth',1);

在这里插入图片描述
Cubic Spline vs Hermite Polynomial

x=-3:3;
y=[-1 -1 -1 0 1 1 1];
t=-3:0.01:3;
s=spline(x,y,t);
p=pchip(x,y,t);
hold on;
plot(t,s,':g','LineWidth',2);
plot(t,p,'--b','LineWidth',2);
plot(x,y,'ro','MarkerFaceColor','r');
hold off;
box on;
set(gca,'FontSize',16);
h=legend('Original','Spline','Hermite');

在这里插入图片描述
2D Interpolation:interp2()

xx=-2:0.5:2;
yy=-2:0.5:3;
[X,Y]=meshgrid(xx,yy);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
hold on;
plot3(X,Y,Z+0.01,'ok','MarkerFaceColor','r')
xx_i=-2:0.1:2;
yy_i=-2:0.1:3;
[X_i,Y_i]=meshgrid(xx_i,yy_i);
Z_i=interp2(xx,yy,Z,X_i,Y_i);
surf(X_i,Y_i,Z_i);
hold on;
surf(X,Y,Z+0.01,'ok','MarkerFaceColor','r')

在这里插入图片描述
2D Interpolation Using Spline()

xx=-2:0.5:2;
yy=-2:0.5:3;
[X,Y]=meshgrid(xx,yy);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
hold on;
plot3(X,Y,Z+0.01,'ok','MarkerFaceColor','r')
xx_i=-2:0.1:2;
yy_i=-2:0.1:3;
[X_i,Y_i]=meshgrid(xx_i,yy_i);
Z_i=interp2(xx,yy,Z,X_i,Y_i,'cubic');
surf(X_i,Y_i,Z_i);
hold on;
surf(X,Y,Z+0.01,'ok','MarkerFaceColor','r')
hold off;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值