目录

  • 一、各类文件读取、显示、保存
    • 0、文件/文件夹
      • 0.1、判断文件是否存在
    • 1、图像文件
      • 1.1、图片读取
      • 1.2、图片显示
      • 1.3、图片保存
    • 2、音频文件
      • 2.1 音频文件读取
      • 2.2 音频文件播放
      • 2.3 音频文件保存
    • 3、文本文件
      • 3.1 txt文件读写
      • 3.2 表格文件
    • 4、数据输出显示
      • 4.1 直接输出
      • 4.1 disp()函数
      • 4.1 fprintf()函数
  • 二、画图
    • 1、二维曲线绘制
      • 1.1 图形绘制:plot()、loglog()、函数
      • 1.2 分块创建坐标区:subplot()
      • 1.3 添加标签:title()、xlabel()、ylabel()
      • 1.4 设置坐标轴范围:axis()
      • 1.5 添加绘图:hold on、hold off
      • 1.6 添加图例:legend()
      • 1.7 添加图例:指定线型、颜色
    • 2、散点绘制
      • 1.1 图形绘制:scatter()函数
    • 3、图文本中的希腊字母和特殊字符
  • 三、文件夹、文件批量操作
    • 1、读取文件夹内所有文件
    • 2、新建文件夹
  • 四、对数据、字符串处理
    • 1、字符串:串联、格式化、转换
      • 1.1 串联
      • 1.2 格式化输出
      • 1.3 字符串比较
      • 1.4 cell/数字与字符串互转
  • 四、对图像进行处理
    • 1、图像裁剪

相比其他编程语言,matlab可以更加方便实现自己想法,并且具备很多安装好的库,函数,无需配置环境和安装库,由于经常使用matlab和其他编程语言如python,c++,有时候格式很容易搞混,从而总是要谷歌搜索,干脆把常用一些功能和数据读取格式记录下来,方便查用。

一、各类文件读取、显示、保存

0、文件/文件夹

0.1、判断文件是否存在

exist()函数

1、图像文件

1.1、图片读取

(1)imread()函数

img = imread('myimage.jpg');
imshow(img);

1.2、图片显示

(1)imshow()函数

imshow(img);

1.3、图片保存

(1)imwrite()函数

imwrite(img,'myimage.png');

2、音频文件

2.1 音频文件读取

(1)audioread()函数

[x,fx] = audioread('myaudio.wav');
%x:音频数据
%fs:音频采样率

2.2 音频文件播放

(1)audioplayer()对象

player = audioplayer(myaudio,Fs); % 创建音频播放对象% myaudio:音频数据% Fs:音频的采样频率
%%---------播放------------
play(player);
%%---------暂停------------
pause(player);
%%---------继续------------
resume(player);
%%---------停止------------
stop(player);

(2)sound函数

sound(myaudio,Fs);

2.3 音频文件保存

(1)audiowrite()

audiowrite(filename,myaudio,Fs);
% filename:文件名,如 'audioname.wav'
% myaudio:音频文件数据
% Fs:音频采样频率

3、文本文件

3.1 txt文件读写

(1)fopen()函数

% 打开文件 tsunamis.txt 并获取文件标识符
fileID = fopen('tsunamis.txt');
% 将 fileID 传递给 fgetl 函数以从文件读取一行
tline = fgetl(fileID)
% 关闭文件
fclose(fileID)

(2)fprintf()函数
将数据写入文本文件

fileID = fopen('1.txt','w');
fprintf(fileID,'abc');
fclose(fileID);

(3)importdata函数
可直接将结构统一的数据读取为矩阵形式

A = importdata(filename)

3.2 表格文件

(1)readtable()函数
  此函数读取文件数据并将其保存在包含每列变量的表中。如果 CSV 文件的每一列都不包含变量,readtable() 函数将为它们提供一个从 var1 开始的默认变量名,依此类推

% readtable 基于文件的扩展名确定文件格式:
%  .txt、.dat 或 .csv(带分隔符的文本文件)
%  .xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(电子表格文件)
%  .xml(可扩展标记语言 (XML) 文件)
%  .docx(Microsoft® Word 文档文件)
%  .html、.xhtml 或 .htm(超文本标记语言 (HTML) 文件)
T = readtable(filename);

(2)readmatrix()函数
  从文件中读取列向数据来创建数组,需要注意的是,该函数是2019a才加入的,早于该版本的旧版里没有这个函数,需要改用其他函数

% readmatrix 基于文件的扩展名确定文件格式:
%  .txt、.dat 或 .csv(适用于带分隔符的文本文件)
%  .xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(适用于电子表格文件)
A = readmatrix(filename);

(3)readcell()函数
  从文件中读取元胞数组

% readcell 基于文件的扩展名确定文件格式:
%  .txt、.dat 或 .csv(适用于带分隔符的文本文件)
%  .xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(适用于电子表格文件)
C = readcell(filename);

4、数据输出显示

4.1 直接输出

直接键入变量名称,不使用“;”即可在命令行直接显示变量数值

4.1 disp()函数

disp(X) 函数显示变量 X 的值,而不打印变量名称;

4.1 fprintf()函数

fprintf()函数将数据按指定格式写入到文本文件中
简单用法:

%fprintf(fid, format, variables);
%按指定的格式将变量的值输出到屏幕或指定文件;
%fid为文件句柄,指定要写入数据的文件,若缺省,则输出到屏幕;
%format是用来控制所写数据格式的格式符, format用来指定数据输出时采用的格式:%d 整数%e 实数:科学计算法形式%f 实数:小数形式%g 由系统自动选取上述两种格式之一%s 输出字符串
%variables是用来存放数据的矩阵;fprintf("abcdef\n");
a=[1,2,3];
fprintf('%d\n',i);

二、画图

1、二维曲线绘制

1.1 图形绘制:plot()、loglog()、函数

(1)plot()函数
直接绘制曲线

plot(Y); % 横坐标直接为数据数量,纵坐标为Y的值
plot(X,Y); % 横坐标为X,纵坐标为Y
plot(X1,Y1,Xn,Yn); % 同时绘制多条曲线
plot(X,Y,'--'); % 指定线性、标记和颜色,如这里为‘--’,即设置为虚线

(2)loglog()函数
用于双坐标轴进行对数运算,以对数方式显示

x = logspace(-1,2);
y = 2.^x;
loglog(x,y)

1.2 分块创建坐标区:subplot()

subplot()

subplot(m,n,p) % 将当前图窗划分为m×n网格,并在p指定的位置创建坐标区%% ----------创建不同大小子图------------
subplot(2,2,[3,4]); % 如本例中将第三、四子图合并为更大一个子图%% ---------自定义位置子图-----------
pos1 = [0.1 0.3 0.3 0.3];
subplot('Position',pos1)
y = magic(4);
plot(y)
title('First Subplot')pos2 = [0.5 0.15 0.4 0.7];
subplot('Position',pos2)
bar(y)
title('Second Subplot')%% -----------修改坐标区属性------------
ax1 = subplot(2,1,1);
Z = peaks;
plot(ax1,Z(1:20,:))ax2 = subplot(2,1,2);
plot(ax2,Z)

1.3 添加标签:title()、xlabel()、ylabel()

title(),xlabel()、ylabel()

title(titletext); % 添加图像标题
xlabel(txt); % 添加横坐标标签
ylabel(txt); % 添加纵坐标标签

1.4 设置坐标轴范围:axis()

axis()

axis([0 1 -1 1]) % 表示横坐标显示范围为:0~1,纵坐标显示范围为:-1~1
axis([0 1 -inf inf]) % inf:使用自动计算的值作为 y 轴的最大范围
axis off % 绘制曲面而不显示坐标区的线条和背景
axis tight % 将坐标轴范围设置为等于数据范围,这样绘图可以扩展到坐标区边缘
axis ij % 更改坐标系的方向,将y轴从大到小

1.5 添加绘图:hold on、hold off

hold on、hold off
添加新绘图时保留当前绘图

x = linspace(-pi,pi);
y1 = sin(x);
plot(x,y1)hold on
y2 = cos(x);
plot(x,y2)
hold off

1.6 添加图例:legend()

legend()

legend  % 为每个绘制的数据序列创建一个带有描述性标签的图例
legend(label1,label2) % 以字符向量或字符串列表形式指定标签
legend({'Jan','Feb','Mar'}) % 使用字符向量元胞数组、字符串数组或字符矩阵设置标签
legend('off') % 删除图例

1.7 添加图例:指定线型、颜色

参考matlab官网
RGB颜色对照表

plot(t,data,'color','red'); % 几种常见颜色单词
plot(t,data,'color','r'); % 几种常见颜色单词首字母缩写
plot(t,data,'color',[0.5 0.5 0.5]); % 0-1范围使用颜色RGB值更加精准、丰富
plot(t,data,'color',‘#80B3FF’); % 使用16进制颜色代码,R2019a之后

线形、标记、线宽(matlab官方教程)

plot([0 1 2 3],'--'); %线型
plot([0 1 2 3],'--o'); %标记
plot([1 2 3 4 5 6],[0 3 1 6 4 10],'--or'); %指定颜色、线型和标记的组合
p = plot([1 2 3 4 5 6],[0 3 1 6 4 10],'-o','LineWidth',3); %修改线宽、标记填充和标记轮廓

2、散点绘制

1.1 图形绘制:scatter()函数

scatter()

3、图文本中的希腊字母和特殊字符

图文本中的希腊字母和特殊字符

三、文件夹、文件批量操作

1、读取文件夹内所有文件

(1)列出文件夹内容:dir函数

dir  %列出当前文件夹内文件和文件夹,注意第一、二项为'.'和‘..’
dir name  % 列出与 name 匹配的文件和文件夹
listing = dir(name) % 返回 name 的属性
listing = dir([path,'*.wav']); % 注意path路径用单引号‘’,不要用双引号“”。%使用通配符*获取指定类型文件,不会有'.'和'..'两项

(2)读取文件/文件夹名

name = listing(n).name  % n代表第几个,读取其他信息类似

2、新建文件夹

mkdir()函数

mkdir('D://new_dir');

四、对数据、字符串处理

1、字符串:串联、格式化、转换

1.1 串联

strcat()函数

s = strcat(s1,...,sN)
% 水平串联其输入参数中的文本。每个输入参数都可以是字符数组、字符向量元胞数组或字符串数组

[ ]直接相连
需要注意的点:相连接的变量需要为char类型

s = [s1,s2]; %直接使用'[]'将字符串串联

1.2 格式化输出

很多时候我们需要将数据以文本形式按某种格式输出,如保留某小数点以十进制输出。此时需要用到matlab格式化文本输出

在输出字符串表达式中,用%标识,常用形式需要指出最后‘转换类型’,‘转换精度’,‘字段宽度’

转换类型:
c   单个字符。
d   十进制记数法(有符号)。
e   指数记数法(使用小写 e,如 3.1415e+00 中一样)。
E   指数记数法(使用大写 E,如 3.1415E+00 中一样)。
f   定点记数法。
g   更紧凑的 %e 或 %f。(将不输出无意义的零。)
G   与 %g 相同,但使用大写 E。
o   八进制记数法(无符号)。
s   字符向量或字符串数组。
u   十进制记数法(无符号)。
x   十六进制记数法(无符号,使用小写字母 a–f)。
X   十六进制记数法(无符号,使用大写字母 A–F)。例子
A = pi*ones(1,3);
txt = sprintf('Displaying pi: \n %f \n %.2f \n %12f', A)
txt = 'Displaying pi: 3.141593 3.14 3.141593'

1.3 字符串比较

strcmp函数

tf = strcmp(s1,s2) 比较 s1 和 s2,如果二者相同,则返回 1 (true),否则返回 0 (false)。

1.4 cell/数字与字符串互转

转成字符串或者字符:string或者char函数
转成数字:str2num函数

a = string(b);
c = char(a);
a = '123.34';
b = str2num(a);
c = string(b);

四、对图像进行处理

1、图像裁剪

imcrop()函数

Icropped = imcrop(I,rect) % 根据在裁剪矩形 rect 中指定的位置和维度裁剪图像 I。
%裁剪的图像包括输入图像中该矩形完全或部分包围的所有像素。%输出图像的实际大小并不始终与 rect 指定的宽度和高度完全一致。例如,假设 rect 是 [20 20 40 30](使用默认的空间坐标系)。
%指定矩形的左上角是空间 (x,y) 坐标为 (20,20) 的像素的中心。矩形的右下角是空间 (x,y) 坐标为 (60,50) 的像素的中心。生成的输出图像大小为 31×41 像素,而不是 30×40 像素。

Matlab常用函数集合(各类文件读取/保存、数据转换、处理)——持续更新中相关推荐

  1. 各种文件后缀的意义(持续更新中)

    .properties是什么? 后缀properties是一种属性文件. 这种文件以key=value格式存储内容,Java中可以使用Properties类来读取这个文件,就能得到对应的数据. Str ...

  2. spark中各类key算子的用法汇总(持续更新中)

    启动方式: spark-shell --master yarn 依赖导入: import org.apache.spark.{SparkConf, SparkContext} 输出rdd的类型举例: ...

  3. 【资源】福利来了!生物学相关常用软件小工具,百度云下载链接持续更新中...

    点击上方蓝字关注我们 觉得有用的话请多多推广转发吧 本文链接可在公众号后台回复"软件"或"小工具"领取 特别致谢: 感谢BioLABs群里赞助软件的:所有老师和 ...

  4. matlab常用函数与常用指令大全

    matlab常用函数与常用指令大全 matlab常用函数- - 1.特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 i ...

  5. c++常用函数所在头文件一览

    c++常用函数所在头文件一览 函数           包含              类别              功能 _atold             math.h            ...

  6. MATLAB常用函数, 常见问题

    MATLAB常用函数 1.常用取整函数 round(x):四舍五入函数 floor(x) : 向下取整, 即 floor(1.2)=1,  floor(1.8) = 1 ceil(x) : 向上取整, ...

  7. matlab doc函数,matlab常用函数.doc

    matlab常用函数.doc MatLab 常用函数 1. 特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 name ...

  8. c语言中removeDir的相反函数,C语言编程常见问题解答之常用函数的包括文件.doc

    C语言编程常见问题解答之常用函数的包括文件 C语言编程常见问题解答之常用函数的包含文件(1) 作者:unknown 更新时间: 2005-05-10 函数 包含 类别 功能 _atold math.h ...

  9. matlab函数accumarray,MATLAB常用函数

    %%%%%%%%%%%%%%% %MATLAB常用函数 %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %特殊矩阵构造函数 %%%%%%%%%%%%%%%% ones 创建一个所有元 ...

最新文章

  1. C# BackgroundWorker 详解
  2. 【转】C#生成验证码
  3. 条款15: 让operator=返回*this的引用
  4. C语言——第四次作业
  5. boost::mp11::mp_max_element相关用法的测试程序
  6. opendds开发指南中文版_最强的开发者技术路线图已经更新到 2020 GitHub 超 118k还有中文...
  7. Java Platform Standard Edition 8 Documentation
  8. linux下gdb常用的调试命令
  9. kerberos 下运行spark 报错 Requested user hdfs is banned
  10. 如何:将项添加到缓存中
  11. 【华为云技术分享】用GaussDB合理管控数据资源的几点心得
  12. java让日志生成日期文件夹_SpringBoot按日期和文件大小生成日志文件到对应日期文件夹...
  13. LibreOJ #6001. 「网络流 24 题」太空飞行计划 最大权闭合图
  14. python爬虫工程师工作内容_爬虫岗位职责
  15. STM32CubeMX使用(五)之IIC及数字加速度计LIS2DW12使用
  16. mysql的模拟数据,员工的模拟数据,sql语句的应用,粘贴即用
  17. LOJ6437 PKUSC2018 PKUSC
  18. python采集微信聊天信息_我用 Python 破解了微信聊天记录,自动同步微信文章
  19. python是一门跨平台语言_python属于跨平台语言码
  20. python数据分析基础技术篇_HTML5小游戏---爱心鱼(上)

热门文章

  1. Substance Designer油画风格贴图实例制作视频教程
  2. 打车软件监管争论:谁大约握有车辆主导权?
  3. 计算机人工智能对心理学的影响,人工智能与心理学
  4. 《Android 网络开发与应用实战详解》——2.3节Android系统架构
  5. 物联网在教育领域应用前景广阔
  6. 案例10:设置商业服务网点的高层住宅防火案例分析
  7. PHPCMS V9 SQL查询篇
  8. vue项目区分打开的是pc端还是移动端
  9. vue限制只能输入数字_vue+element 中 el-input框 限制只能输入数字及一位小数
  10. python回合制游戏教程_Python基础之面向对象(回合制游戏)