日常简单数据分析之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('差值');

大致呈现结果如下:

相关推荐
简简单单做算法1 天前
基于GA遗传优化的Transformer-LSTM网络模型的时间序列预测算法matlab性能仿真
深度学习·matlab·lstm·transformer·时间序列预测·ga遗传优化·电池剩余寿命预测
2501_944934731 天前
产品策划需要哪些数据分析能力?如何用数据验证需求优先级
信息可视化·数据挖掘·数据分析
新知图书1 天前
Power BI Desktop下载、安装与界面介绍
数据分析·power bi·商业数据分析
babe小鑫1 天前
会计岗位学习数据分析的价值分析
学习·数据挖掘·数据分析
t198751281 天前
光伏发电MPPT(最大功率点跟踪)MATLAB仿真程序
开发语言·matlab
551只玄猫1 天前
【数学建模 matlab 实验报告10】插值
开发语言·数学建模·matlab·课程设计·插值·实验报告
foundbug9991 天前
Matlab基于分布式模型预测控制的多固定翼无人机共识控制
分布式·matlab·无人机
Leo.yuan1 天前
经营分析如何联动业务与财务?4步打通业财经营分析指标
数据库·数据分析·经营分析
IT观测1 天前
# 聚焦AI数据分析市场:2026年AI数据分析市场的深度调研与趋势展望报告
人工智能·数据挖掘·数据分析
babe小鑫1 天前
会计转行财务学数据分析指南
数据挖掘·数据分析