matlab 数据分析教程
MATLAB 是一款强大的数据分析工具,广泛应用于科学计算、工程分析和数据可视化等领域。以下是一个 MATLAB 数据分析的基础教程,涵盖常用操作和实例:
一、MATLAB 数据分析基础
1. 数据导入
MATLAB 支持导入多种格式的数据(CSV、Excel、文本文件等):
% 导入 CSV 文件
data = readmatrix('data.csv'); % 纯数值数据
tbl = readtable('data.csv'); % 带表头的数据,返回表格% 导入 Excel 文件
xlData = readmatrix('data.xlsx', 'Sheet', 'Sheet1');% 手动输入数据
x = [1, 2, 3, 4, 5];
y = [2.1, 4.0, 5.9, 8.2, 10.1];
2. 数据基本统计分析
常用统计函数:
% 计算均值、中位数、标准差
mean_val = mean(data); % 均值
median_val = median(data); % 中位数
std_val = std(data); % 标准差
var_val = var(data); % 方差% 最大值、最小值、求和
max_val = max(data);
min_val = min(data);
sum_val = sum(data);% 相关系数(两个变量)
corr_val = corrcoef(x, y); % 返回相关系数矩阵
3. 数据可视化
MATLAB 提供丰富的绘图函数:
% 折线图
figure;
plot(x, y, 'o-r', 'LineWidth', 1.5); % 'o-r' 表示圆形标记+红色线
xlabel('X轴');
ylabel('Y轴');
title('折线图示例');
grid on;% 直方图
figure;
histogram(data, 10); % 10个 bins
title('数据分布直方图');% 散点图(带回归线)
figure;
scatter(x, y);
hold on;
p = polyfit(x, y, 1); % 一次多项式拟合(线性回归)
y_fit = polyval(p, x);
plot(x, y_fit, 'b--');
legend('数据点', '回归线');
二、进阶分析示例:线性回归
假设我们有一组数据 x
和 y
,需要进行线性回归分析:
% 数据
x = [1:1:10]'; % 自变量
y = 2*x + 3 + randn(10,1); % 带噪声的因变量(y=2x+3+噪声)% 线性回归
X = [ones(length(x),1), x]; % 构造设计矩阵(包含常数项)
b = X\y; % 最小二乘求解系数(b(1)为截距,b(2)为斜率)% 预测值
y_pred = X*b;% 可视化结果
figure;
scatter(x, y, 'filled');
hold on;
plot(x, y_pred, 'r-', 'LineWidth', 2);
xlabel('x');
ylabel('y');
title('线性回归示例');
legend('原始数据', '回归直线');
grid on;% 输出结果
fprintf('回归方程:y = %.2f + %.2f x\n', b(1), b(2));
三、批量数据处理
处理多组数据时,可使用循环或向量化操作提高效率:
% 生成3组测试数据
data = randn(100, 3); % 100行3列的随机数据% 批量计算每组数据的统计量
stats = zeros(3, 3); % 存储均值、标准差、中位数
for i = 1:3stats(i,1) = mean(data(:,i));stats(i,2) = std(data(:,i));stats(i,3) = median(data(:,i));
end% 显示结果
resultTable = table(stats(:,1), stats(:,2), stats(:,3), ...'VariableNames', {'均值', '标准差', '中位数'}, ...'RowNames', {'组1', '组2', '组3'});
disp(resultTable);
四、常用工具包
MATLAB 提供多个专业工具箱扩展数据分析能力:
- Statistics and Machine Learning Toolbox:高级统计分析、机器学习
- Curve Fitting Toolbox:曲线拟合与数据分析
- Signal Processing Toolbox:信号处理与特征提取
通过以上内容,你可以快速掌握 MATLAB 数据分析的基本流程。实际应用中,可根据具体需求结合官方文档(doc
命令)深入学习。