MATLAB 的输入与输出:一篇速查博客

MATLAB 的输入与输出:一篇速查博客

一句话导读

程序=算法+数据,数据离不开"进来"和"出去"。MATLAB 提供 10 余种 IO 方式,涵盖键盘、文件、剪贴板、网络、硬件。记住这篇"地铁图",5 分钟找到你需要的接口。


一、输入(Input)速览

场景 典型命令 / 函数 返回类型 备注
键盘交互 x = input('提示> ') 数值/字符串/矩阵 可选 's' 强制文本
键盘单次按键 key = getkey 字符 不显示在命令行
拖放文件 uigetfile 文件名细胞串 弹出系统对话框
整个工作区 uiopen / 双击文件 变量列表 等价于 load
Excel/CSV readmatrix, readtable 矩阵 / table 自动识别表头
文本行 readlines (R2020b+) string 列向量 一次性读全部行
二进制 fread, memmapfile uint8 或任意 大文件内存映射
图片 imread M×N×3 uint8 支持 JPG/PNG/TIF/RAW
音频 audioread 采样向量 + fs 自动归一化到 [-1,1]
视频 VideoReader 对象(可逐帧) 支持 MP4/AVI/MOV
串口 / TCP serialport, tcpclient 对象 + 读写 硬件/网络流
剪贴板 readclip, clipboard 字符串 / 图像 与 Excel 互粘

二、输出(Output)速览

场景 典型命令 说明
命令窗口 disp, fprintf, sprintf 调试/日志
图窗 plot, imshow, heatmap 可视化
保存变量 save *.mat 二进制,完整恢复
文本/CSV writematrix, writetable 带表头,Excel 直开
任意文本 fprintf + 文件句柄 完全自定义格式
二进制 fwrite, memmapfile 流式或内存映射
图片 exportgraphics, print, imwrite 矢量 PDF/位图 PNG
音频 audiowrite WAV、FLAC、OGG
视频 VideoWriter MP4、AVI、MJPEG
报告 publish 一键 PDF/HTML/Word
剪贴板 writeclip 把表格/图片塞进 Ctrl+V

三、键盘交互 10 秒上手

matlab 复制代码
% 数值
age = input('请输入年龄: ');

% 字符串
name = input('请输入姓名: ', 's');

% 矩阵
A = input('请输入 2×2 矩阵,如 [1 2; 3 4]: ');

输入时可现场写表达式:[1:3; 4:6]pi/2 都合法。


四、文件读写最短路径

1. Excel/CSV 一条命令

matlab 复制代码
T = readtable('data.xlsx','Sheet','Raw');   % 读
writetable(T,'clean.csv');                  % 写

2. 纯文本列自定义

matlab 复制代码
fid = fopen('log.txt','w');
for k = 1:N
    fprintf(fid,'%04d  %10.6f\n',k,result(k));
end
fclose(fid);

3. 图片"高清矢量"

matlab 复制代码
plot(x,y); exportgraphics(gcf,'fig.pdf','Resolution',300);

五、完整模板:读→算→写→图

matlab 复制代码
%% 1. 读 Excel
T = readtable('sales.xlsx');

%% 2. 计算
T.Profit = T.Revenue - T.Cost;

%% 3. 写 CSV
writetable(T,'profit.csv');

%% 4. 画图
bar(T.Date,T.Profit);
xlabel('月份'); ylabel('利润/万元');
title('2025 年月度利润');

%% 5. 保存高清图
exportgraphics(gcf,'profit.pdf');

六、常见坑提示

  • input 不加 's' 会把 3/2 当成表达式 算,返回 1.5;要原样文本务必加 's'
  • load *.mat 会把变量直接塞进工作区 ,同名会覆盖;可用 S = load('file.mat') 结构体封装。
  • csvwrite 已废弃,优先 writematrix / writetable
  • 视频/音频写完后必须 close(writer),否则文件损坏。
  • 串口/网口流读取注意 Terminator 设置,否则永远堵在 readline

七、一张"地铁图"保存即用

复制代码
输入
├─ 键盘 input / getkey
├─ 文件 readmatrix/readtable/imread/audioread/VideoReader
├─ 网络/硬件 tcpclient/serialport
└─ 剪贴板 readclip

输出
├─ 屏幕 disp/fprintf
├─ 图窗 plot→exportgraphics
├─ 文件 writematrix/writetable/fprintf/save/VideoWriter
└─ 剪贴板 writeclip

八、结语

记住"两条命令走天下 ":
readmatrix / readtable
writematrix / writetable

其余场景按地铁图对号入座,10 秒钟就能写出稳健 IO。

把这篇贴在桌面,再也不用翻 Help 啦!

相关推荐
CoderYanger1 小时前
动态规划算法-路径问题:9.最小路径和
开发语言·算法·leetcode·动态规划·1024程序员节
无心水1 小时前
【Python实战进阶】12、Python面向对象编程实战:从零构建搜索引擎,掌握封装、继承与多态!
开发语言·python·搜索引擎·python进阶·python面向对象·搜索引擎实战·封装继承多态
阿杰同学1 小时前
Java NIO 面试题及答案整理,最新面试题
java·开发语言·nio
CoderYanger1 小时前
动态规划算法-路径问题:7.礼物的最大价值
开发语言·算法·leetcode·动态规划·1024程序员节
古城小栈1 小时前
Python 3.14:重塑开发体验的五大技术突破与实践指南
开发语言·python
小糖学代码1 小时前
LLM系列:1.python入门:1.初识python
服务器·开发语言·人工智能·python·ai
wadesir2 小时前
掌握 Rust 中的浮点数处理(Rust f64 浮点数与标准库详解)
开发语言·后端·rust
liu****2 小时前
13.数据在内存中的存储
c语言·开发语言·数据结构·c++·算法
渡我白衣2 小时前
并行的野心与现实——彻底拆解 C++ 标准并行算法(<execution>)的模型、陷阱与性能真相
java·开发语言·网络·c++·人工智能·windows·vscode