如果要学习数学建模的话,数据处理是一个必须要学习的,不然就算你有了一堆的数据,不会处理也没有啥用,这篇文章主要来学习matlab数据处理的一些入门级的操作和使用。(其实我更喜欢用python处理数据,有兴趣的可以看下《python之数据处理详解》,如果没学过matlab,建议先看看《Matlab基础入门笔记》,学习之路漫漫啊!)
1.数据读取
从EXCEL读取
使用xlsread()读取,虽然还能用,但是官方已经不推荐了
num = xlsread(filename)
读取名为 filename
的 Microsoft® Excel® 电子表格工作表中的第一张工作表,并在一个矩阵中返回数值数据。
num = xlsread(filename,sheet)
读取指定的工作表。
num = xlsread(filename,xlRange)
从工作簿的第一个工作表的指定范围内读取数据。使用 Excel 范围语法,例如 'A1:C3'
。
num = xlsread(filename,sheet,xlRange)
读取指定的工作表和范围。
num = xlsread(filename,sheet,xlRange,'basic')
在 basic
导入模式下读取电子表格中的数据。如果您的计算机未安装 Windows® 版 Excel 或者您正在使用 MATLAB® Online™,xlsread
会自动在 basic
导入模式下运行,该模式支持 XLS、XLSX、XLSM、XLTX 和 XLTM 文件。
如果不指定所有参数,请使用空字符向量 ''
作为占位符,例如,num = xlsread(filename,'','','basic')
。
例:
a = xlsread('in.xlsz',2,'A1:B5')
从TXT读取
读取矩阵(推荐)
readmatrix()
:从文件中读取矩阵
语法:
A = readmatrix(filename)
A = readmatrix(filename,opts)
A = readmatrix(___,Name,Value)
说明
A = readmatrix(filename)
通过从文件中读取列向数据来创建数组。readmatrix
函数可自动检测文件的导入参数。
A = readmatrix(filename,opts)
使用导入选项 opts
创建表。
A = readmatrix(___,Name,Value)
基于文件创建一个数组,并通过一个或多个名称-值对组参数指定其他选项
示例:
M = readmatrix('basic_matrix.txt')
% 默认情况下,preview 函数显示第一个工作表中的数据。文件中的前八个变量包含数值数据
opts = detectImportOptions('airlinesmall_subset.xlsx');
preview('airlinesmall_subset.xlsx',opts)
% 配置 opts 对象中的值,以便从名为 '2007' 的工作表中导入前五个变量的 10 行
opts.Sheet = '2007';
opts.SelectedVariableNames = [1:5];
opts.DataRange = '2:11';
M = readmatrix('airlinesmall_subset.xlsx',opts)
%从名为 '2007' 的工作表中导入前 5 个变量的 10 行
M = readmatrix('airlinesmall_subset.xlsx','Sheet','2007','Range','A2:E11')
读取元胞数组
readcell()
:从文件中读取元胞数组
用法和语法都与readmatrix差不多,不再赘述。
元胞数组:这是一个新鲜的名词,原以为是什么高大上的东西,其实就是数组的集合。
读取图片
小知识:这里用的图片类型可能与我们日常见到的后缀名(jpg,png)有所不同,这里就稍微补充一下,例如:
索引图像:一种把像素值直接作为RGB调色板下标的图像。索引图像可把像素值“直接映射”为调色板数值。(后缀有:bmp
,tif
等
一幅索引图包含一个数据矩阵data和一个调色板矩阵map,数据矩阵可以是uint8,uint16或双精度类型的,而调色板矩阵则总是一个m×3的双精度矩阵
函数
imread
():从图形文件读取图像(im就是图像image的缩写)
使用方法
A = imread(filename)
从 filename
指定的文件读取图像,并从文件内容推断出其格式。如果 filename
为多图像文件,则 imread
读取该文件中的第一个图像。
A = imread(filename,fmt)
另外还指定具有 fmt
指示的标准文件扩展名的文件的格式。如果 imread
找不到具有 filename
指定的名称的文件,则会查找名为 filename.fmt
的文件。
A = imread(___,idx)
从多图像文件读取指定的图像。此语法仅适用于 GIF、CUR、ICO、TIF 和 HDF4 文件。您必须指定 filename
输入,也可以指定 fmt
。
A = imread(___,Name,Value)
使用一个或多个名称-值对组参数以及先前语法中的任何输入参数来指定格式特定的选项。
[A,map] = imread(___)
将 filename
中的索引图像读入 A
,并将其关联的颜色图读入 map
。图像文件中的颜色图值会自动重新调整到范围 [0,1]
中。
[A,map,transparency] = imread(___)
另外还返回图像透明度。此语法仅适用于 PNG、CUR 和 ICO 文件。对于 PNG 文件,如果存在 alpha 通道,transparency
会返回该 alpha 通道。对于 CUR 和 ICO 文件,它为 AND(不透明度)掩码。