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

大致呈现结果如下:

相关推荐
wearegogog1233 小时前
DEA模型MATLAB实现(CCR、BCC、超效率)
开发语言·算法·matlab
ghie90903 小时前
MATLAB自适应子空间辨识工具箱
数据结构·算法·matlab
cici158743 小时前
基于反向传播算法实现手写数字识别的MATLAB实现
开发语言·算法·matlab
Maxwell_li13 小时前
pandas数据合并
机器学习·数据分析·numpy·pandas·matplotlib
yong99904 小时前
LSD直线提取算法 MATLAB
开发语言·算法·matlab
珑墨6 小时前
【AI产品】当下AI产品的变现模式深度分析
人工智能·ai·数据分析·产品运营·aigc·ai编程·ai写作
bu_shuo6 小时前
Simulink中打开slx仿真文件每次都会弹出scope示波器窗口
matlab·simulink·半桥逆变器
祝余Eleanor6 小时前
Day 30 函数专题2 装饰器
人工智能·python·机器学习·数据分析
feifeigo1236 小时前
MATLAB实现两组点云ICP配准
开发语言·算法·matlab