MATLAB 机场价格数据预处理和分析

出租车价格数据为浦东机场

拟合机场价格变化曲线

  1. 最小二乘法
  2. 回归系数的判断(函数编写练习)
  3. 机场价格:白天和夜间加权

数据预处理

  1. importdata函数的使用,data属性和textdata属性
  2. figure 和 hold on的使用

运行结果:
曲线通过拟合,相关系数为
1.0000 0.8853
0.8853 1.0000

曲线通过拟合,相关系数为
1.0000 0.9990
0.9990 1.0000

白天和夜间估计值:
180.2105 229.5223
187.0075 239.9225
166.6165 208.7218
166.6165 208.7218
142.8271 172.3210
170.0150 213.9219
207.3985 271.1232
187.0075 239.9225
180.2105 229.5223
173.4135 219.1220
180.2105 229.5223
173.4135 219.1220
187.0075 239.9225
149.6241 182.7212
173.4135 219.1220
187.0075 239.9225
187.0075 239.9225
220.9925 291.9237

平均路程:47.611km
白天费用(RMB/km):3.40RMB
夜间费用(RMB/km):5.20RMB
全天(RMB/km):3.85RMB
全天183.25RMB

%%数据预处理,绘制散点图
fid=importdata('4.txt',',',1)
disp(fid.textdata);disp(fid.data);
A=fid.data;
X=A(:,1);%机场里程数
disp('机场里程:');disp(X)
Y_1=A(:,2);%白天参考费用
disp('白天费用:');disp(Y_1');
Y_2=A(:,3);
disp('夜间费用:');disp(Y_2');
% ax1=subplot(1,2,1)
figure
h1=scatter(X,Y_1,'r');
% ax2=subplot(1,2,2)
hold on
h2=scatter(X,Y_2,'b');
hold on
title('费用随路程变化');
legend('白天','夜间')
%% 画出拟合曲线
clc;
[y1,delta1]=polyfit(X,Y_1,1);
judge(corrcoef(X,Y_1));
y1_value=polyval(y1,X);
plot(X,y1_value);
hold on

[y2,delta2]=polyfit(X,Y_2,1);
judge(corrcoef(X,Y_2));
y2_value=polyval(y2,X);
disp('白天和夜间估计值:');disp([y1_value,y2_value]);
plot(X,y2_value);
legend('白天拟合曲线','夜间拟合曲线');

%%机场到其他地方车费
% clc;
[row,line]=size(X);
avg_km=sum(X)/row;fprintf('平均路程:%0.3fkm\n',avg_km);
avg_d=y1(1);fprintf('白天费用(RMB/km):%0.2fRMB\n',avg_d);
avg_s=y2(1);fprintf('夜间费用(RMB/km):%0.2fRMB\n',avg_s);
avg_p=([avg_d,avg_s]*[0.75 0.25]');
fprintf('全天(RMB/km):%0.2fRMB\n',avg_p);
fprintf('全天%0.2fRMB\n',avg_p*avg_km);
%% 市区内

function bool=judge(r)
%判断相关系数
if r>0.8
    bool=1;
    disp('曲线通过拟合,相关系数为');disp(r);
else 
    bool=0;
    disp('曲线拟合效果不好,相关系数为');disp(r);
end
end

posted on 2020-03-28 11:03  一切为了生活  阅读(247)  评论(0编辑  收藏  举报