利用matlab绘制类似拟合、残差图(需手工合并)

本文介绍如何使用Matlab绘制股价及其拟合值的图形,并展示了如何在同一图表中同时呈现实际股价数据与拟合结果,以及如何绘制残差图进行误差分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对股票软件比较熟悉的同学都知道经常会看到这样的界面:上图显示的是股价的运行,下图显示的是一些技术指标(坐标轴可以不同向)。



因而考虑用matlab绘制如上面所示的图形:

function fit_plot(x,y_real,y_fit)
%绘制拟合、残差图
%x横坐标;y_real观测值,y_fit拟合值
figure(100);
hold all;
h=subplot(2,1,1);%上图绘制实际值拟合值
%set(h,'position',[0.3    0.1100    0.1347    0.8150]);
plot(x,y_real,'r','DisplayName','实际值');
plot(x,y_fit,'g','DisplayName','拟合值');
set(gca,'xtick',[]);
subplot(2,1,2);%下图绘制残差图
y_err=y_real-y_fit;
plot(x,y_err,'DisplayName','残差');
set(gca,'YAxisLocation','right');
%然后手动调整位置就可以了
hold off;
end

结果:




MATLAB中,绘制观测值和拟合值以及残差图是一种常见的数据可视化方法,用于评估模型的好坏。以下是创建这种图表的基本步骤: 1. **准备数据**:首先,你要有两组数据,一组是实际的观测值(Observed Values),另一组是通过模型计算得到的拟合值(Fitted Values)。 2. **生成图形**: - **散点图**:使用`scatter`函数绘制观测值的点图,横坐标通常表示自变量,纵坐标表示因变量。 ```matlab scatter(x, y, 'o', 'MarkerSize', 8); % x轴为自变量,y轴为观测值 hold on; % 保持当前图形以便添加更多元素 ``` 3. **线性拟合**:如果想要展示拟合曲线,可以使用`polyfit`和`polyval`对观测值进行线性回归,然后出直线。例如,假设我们有一个一阶多项式模型: ```matlab p = polyfit(x, y, 1); % 拟合系数 x_fit = linspace(min(x), max(x)); % 新的x值范围 y_fit = polyval(p, x_fit); % 拟合值 ``` 4. **拟合曲线和残差**: - 使用`plot`函数拟合曲线,并将拟合值作为第二个系列: ```matlab plot(x_fit, y_fit, '-r'); % 红色实线代表拟合曲线 ``` - 计算残差(Residuals),即观测值与拟合值之差,然后绘制残差: ```matlab residuals = y - y_fit; plot(x, residuals, 'b.'); % 蓝色圆点显示残差 ``` 5. **添加标签和标题**: ```matlab xlabel('自变量'); ylabel('因变量'); title('观测值与拟合值及残差图'); legend('观测值', '拟合值', '残差'); ``` 6. **显示图像**: ```matlab hold off; ``` 完成以上步骤后,你会看到一个包含观测值、拟合曲线以及残差分布的图形,便于分析模型的拟合效果和数据偏差。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值