日常简单数据分析之matlab (一)

文章目录

    • [1. 背景](#1. 背景)
    • [2. 待分析数据](#2. 待分析数据)
      • [3. 函数介绍](#3. 函数介绍)
      • [3.1 提取函数](#3.1 提取函数)
      • [3.2 画图函数](#3.2 画图函数)
    • [4. 分析步骤](#4. 分析步骤)

1. 背景

日常工作中,相信很多人也会遇到很长片段的数值计算并分析,如果这些数值可以复制到excel中就还好,可以充分利用excel强大的公式来计算。如果夹杂一些格式的符号作为分割符号,就比较难办了。但如果你是一个开发,那么使用matlab就几行代码的事情,这是非常方便的。

2. 待分析数据

这些数据指的是好几列数据,中间只是简单用分割符 区分了一下,并不包含其他格式的内容。如果包含了,就需要先进行数据提取到希望的格式,再按照此方法进行计算。

  • 简单数据内容如下:
c 复制代码
      9,0,1764646526152078,1764646526241306
     67,0,1764646526190572,1764646526291972
     90,1,1764646526228836,1764646526308426
    136,1,1764646526269024,1764646526346550
    163,2,1764646526297787,1764646526349888
    193,0,1764646526312443,1764646526384586
    230,0,1764646526352615,1764646526421861
    269,1,1764646526349327,1764646526445200

3. 函数介绍

针对上面的数据,我们需要先已分隔符作为标识,然后分别按列进行提取,提取之后就可以进行相关计算了。

3.1 提取函数

  • readmatrix 介绍
cpp 复制代码
A = readmatrix(filename)  % 读取文件并返回矩阵
A = readmatrix(filename, Name, Value)  % 使用指定Name标识的-Value值对组指定选项

Name标识如下:

  • 'Range':指定数据范围(如 'A1:C10')
  • 'Sheet':指定 Excel 工作表(如 2 或 'Sheet1')
  • 'Delimiter':指定分隔符(如 ',' 或 '\t')
  • 'NumHeaderLines':跳过的标题行数
  • 'TreatAsMissing':将特定文本视为缺失值(如 ['NA', 'NaN'])

针对数据分析,我们就可以使用 Delimiter 标识进行数据提取。

3.2 画图函数

  • plot 介绍
c 复制代码
plot 是 MATLAB 中用于绘制二维图形的函数,支持多种数据输入方式和图形属性设置。其核心功能是通过连接数据点绘制曲线或散点图。

```c
plot(y)  % 仅输入纵坐标数据
plot(x, y)  % 输入横纵坐标数据
plot(x1, y1, x2, y2, ...)  % 多条曲线绘制
plot(..., 'LineStyle', 'Color', 'Marker')  % 设置图形属性

常用调用格式
‌- 单变量输入‌
plot(y)  % 以索引为横坐标,y为纵坐标
plot(X)  % X为复数时,实部为横坐标,虚部为纵坐标
示例:plot([1, 2, 3, 4]) 绘制折线图(横坐标为1:4)。

‌- 双变量输入‌
plot(x, y)  % x和y为同维向量或矩阵
示例:plot(0:0.1:2*pi, sin(0:0.1:2*pi)) 绘制正弦曲线。

‌- 多曲线绘制‌
plot(x1, y1, x2, y2, ...)  % 每对(x, y)绘制一条曲线
示例:plot(1:10, rand(1,10), 1:10, rand(1,10)) 绘制两条随机曲线。

- 图形属性设置
‌线型‌:'-'(实线)、'--'(虚线)、':'(点线)、'-.'(点划线)
‌颜色‌:'r'(红)、'g'(绿)、'b'(蓝)、'k'(黑)
‌标记‌:'o'(圆)、'x'(叉)、'+'(加号)、'*'(星)
示例:plot(x, y, 'r--o') 绘制红色虚线圆点曲线。

4. 分析步骤

  1. 使用分割符提取数据
  2. 获得数据所需的列
  3. 简单计算
  4. 画图

大致代码如下:

matlab 复制代码
% 使用 , 分割符提取文件,返回矩阵形式
data = readmatrix('time.txt', 'Delimiter', ',');

% 分别获得需要的列
col1 = data(:,3);
col2 = data(:,4);

% 进行简单计算
diff_col = col2 - col1;

figure;

% plot 画图
plot(diff_col, 'b-o','LineWidth',1.5,'MarkerSize',1);

grid on;

% 设置图的标题
xlabel('行号 (Index)');
ylabel('第2列 - 第1列');
title('第2列减去第1列的结果');
legend('差值');

大致呈现结果如下:

相关推荐
feifeigo1232 天前
matlab画图工具
开发语言·matlab
Sylvia33.2 天前
火星数据:解构斯诺克每一杆进攻背后的数字语言
java·前端·python·数据挖掘·数据分析
Flying pigs~~2 天前
机器学习之逻辑回归
人工智能·机器学习·数据挖掘·数据分析·逻辑回归
Gofarlic_oms12 天前
避免Kisssoft高级分析模块过度采购的科学评估方法
大数据·linux·运维·人工智能·matlab
rit84324992 天前
全变分正则化图像去噪的MATLAB实现
开发语言·matlab
Evand J2 天前
通过matlab实现机器学习的小项目示例(鸢尾花分类)
机器学习·支持向量机·matlab
bu_shuo2 天前
MATLAB命令行窗口中的字体放大操作
matlab·命令行
micro_xx2 天前
Matlab 有限元分析三维悬臂梁变形
前端·数据库·matlab
YangYang9YangYan2 天前
2026中专计算机专业学数据分析的实用价值分析
数据挖掘·数据分析
YangYang9YangYan2 天前
2026高职大数据管理与应用专业学数据分析的价值与前景
数据挖掘·数据分析