Matlab数据可视化:拟合曲线与R值标注

本文介绍如何在Matlab中绘制散点图,并添加拟合曲线、标注拟合方程和R值,以增强数据可视化效果。

代码示例:

clear;

data1 = xlsread('C:\Users\魏一铭\Desktop\5-7wsdbs.xlsx');
obs_temp2a = data1(2:1105, 5);
era5_temp2a = data1(2:1105, 6);

figure;
p = polyfit(obs_temp2a, era5_temp2a, 1);
a = p(1);
b = p(2);

Y = @(x) a*x + b;
fplot(Y, [0, 30], 'r', 'LineWidth', 1);
hold on

R1 = corrcoef(obs_temp2a, era5_temp2a);
R = R1(1, 2);

scatter(obs_temp2a, era5_temp2a, 'o', 'SizeData', 5, 'MarkerEdgeColor', [0 25 255]./255, 'MarkerFaceColor', [0 25 255]./255);
xlabel('Windcube 100S Lidar WS (m·s^{-1})', 'FontSize', 18, 'FontWeight', 'normal', 'FontName', 'Times New Roman');
ylabel('ERA5 WS (m·s^{-1})', 'FontSize', 18, 'FontWeight', 'normal', 'FontName', 'Times New Roman');
title('50m wind speed', 'FontSize', 18, 'FontWeight', 'normal', 'FontName', 'Times New Roman');
set(gca, 'LineWidth', 2, 'FontSize', 18, 'FontWeight', 'normal', 'FontName', 'Times New Roman');
hold on;
line([0, 30], [0, 30], 'LineWidth', 0.5, 'LineStyle', '--', 'Color', 'r'); % 1:1线

% 在图中添加文本标注
eqn = sprintf('y = %.2fx + %.2f', a, b);
r_value = sprintf('R = %.2f', R);
text(5, 25, eqn, 'FontSize', 12);
text(5, 20, r_value, 'FontSize', 12);

box on;

代码解析:

  1. 数据加载与准备: 使用 xlsread 函数加载数据,提取需要分析的变量 obs_temp2aera5_temp2a
  2. 拟合曲线: 使用 polyfit 函数进行线性拟合,得到拟合系数 ab,并定义匿名函数 Y 表示拟合曲线。
  3. 绘制散点图: 使用 scatter 函数绘制散点图,并设置标记样式、颜色等属性。
  4. 添加拟合曲线: 使用 fplot 函数绘制拟合曲线,并设置线型、颜色等属性。
  5. 计算R值: 使用 corrcoef 函数计算相关系数矩阵,并提取 R 值。
  6. 标注拟合方程和R值: 使用 sprintf 函数将拟合方程和 R 值格式化为字符串,然后使用 text 函数在图中指定位置添加文本标注。

总结:

通过以上步骤,您可以轻松地在Matlab中绘制带有拟合曲线、标注拟合方程和R值的散点图,使数据分析结果更加清晰易懂。

Matlab数据可视化:拟合曲线与R值标注

原文地址: https://www.cveoy.top/t/topic/oXc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录