- Matlab 教程
- MATLAB - 首页
- MATLAB - 概述
- MATLAB - 特性
- MATLAB - 环境设置
- MATLAB - 编辑器
- MATLAB - 在线
- MATLAB - 工作区
- MATLAB - 语法
- MATLAB - 变量
- MATLAB - 命令
- MATLAB - 数据类型
- MATLAB - 运算符
- MATLAB - 日期和时间
- MATLAB - 数字
- MATLAB - 随机数
- MATLAB - 字符串和字符
- MATLAB - 文本格式化
- MATLAB - 时间表
- MATLAB - M 文件
- MATLAB - 冒号表示法
- MATLAB - 数据导入
- MATLAB - 数据输出
- MATLAB - 数据归一化
- MATLAB - 预定义变量
- MATLAB - 决策
- MATLAB - 决策语句
- MATLAB - If End 语句
- MATLAB - If Else 语句
- MATLAB - If…Elseif Else 语句
- MATLAB - 嵌套 If 语句
- MATLAB - Switch 语句
- MATLAB - 嵌套 Switch
- MATLAB - 循环
- MATLAB - 循环
- MATLAB - For 循环
- MATLAB - While 循环
- MATLAB - 嵌套循环
- MATLAB - Break 语句
- MATLAB - Continue 语句
- MATLAB - End 语句
- MATLAB - 数组
- MATLAB - 数组
- MATLAB - 向量
- MATLAB - 转置运算符
- MATLAB - 数组索引
- MATLAB - 多维数组
- MATLAB - 兼容数组
- MATLAB - 分类数组
- MATLAB - 元胞数组
- MATLAB - 矩阵
- MATLAB - 稀疏矩阵
- MATLAB - 表格
- MATLAB - 结构体
- MATLAB - 数组乘法
- MATLAB - 数组除法
- MATLAB - 数组函数
- MATLAB - 函数
- MATLAB - 函数
- MATLAB - 函数参数
- MATLAB - 匿名函数
- MATLAB - 嵌套函数
- MATLAB - 返回语句
- MATLAB - 空函数
- MATLAB - 局部函数
- MATLAB - 全局变量
- MATLAB - 函数句柄
- MATLAB - 滤波器函数
- MATLAB - 阶乘
- MATLAB - 私有函数
- MATLAB - 子函数
- MATLAB - 递归函数
- MATLAB - 函数优先级顺序
- MATLAB - 映射函数
- MATLAB - 平均值函数
- MATLAB - 结束函数
- MATLAB - 错误处理
- MATLAB - 错误处理
- MATLAB - Try...Catch 语句
- MATLAB - 调试
- MATLAB - 绘图
- MATLAB - 绘图
- MATLAB - 绘制数组
- MATLAB - 绘制向量
- MATLAB - 条形图
- MATLAB - 直方图
- MATLAB - 图形
- MATLAB - 2D 线性图
- MATLAB - 3D 图形
- MATLAB - 格式化图形
- MATLAB - 对数坐标轴图形
- MATLAB - 绘制误差条
- MATLAB - 绘制 3D 等值线图
- MATLAB - 极坐标图
- MATLAB - 散点图
- MATLAB - 绘制表达式或函数
- MATLAB - 绘制矩形
- MATLAB - 绘制频谱图
- MATLAB - 绘制网格曲面
- MATLAB - 绘制正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 线性插值
- MATLAB - 2D 数组插值
- MATLAB - 3D 数组插值
- MATLAB - 多项式
- MATLAB - 多项式
- MATLAB - 多项式加法
- MATLAB - 多项式乘法
- MATLAB - 多项式除法
- MATLAB - 多项式的导数
- MATLAB - 变换
- MATLAB - 变换
- MATLAB - 拉普拉斯变换
- MATLAB - 拉普拉斯滤波器
- MATLAB - 高斯-拉普拉斯滤波器
- MATLAB - 逆傅里叶变换
- MATLAB - 傅里叶变换
- MATLAB - 快速傅里叶变换
- MATLAB - 2D 逆余弦变换
- MATLAB - 向坐标轴添加图例
- MATLAB - 面向对象
- MATLAB - 面向对象编程
- MATLAB - 类和对象
- MATLAB - 函数重载
- MATLAB - 运算符重载
- MATLAB - 用户定义类
- MATLAB - 复制对象
- MATLAB - 代数
- MATLAB - 线性代数
- MATLAB - 高斯消元法
- MATLAB - 高斯-约旦消元法
- MATLAB - 简化行阶梯形式
- MATLAB - 特征值和特征向量
- MATLAB - 积分
- MATLAB - 积分
- MATLAB - 二重积分
- MATLAB - 梯形法则
- MATLAB - 辛普森法则
- MATLAB - 杂项
- MATLAB - 微积分
- MATLAB - 微分
- MATLAB - 矩阵的逆
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB - 有用资源
- MATLAB - 快速指南
- MATLAB - 有用资源
- MATLAB - 讨论
MATLAB - 数据输出
在 MATLAB 中,数据导出(或输出)意味着写入文件。MATLAB 允许您在读取 ASCII 文件的其他应用程序中使用您的数据。为此,MATLAB 提供了多种数据导出选项。
您可以创建以下类型的文件:
来自数组的矩形、分隔符分隔的 ASCII 数据文件。
按键操作和生成的文本输出的日志(或日志)文件。
使用低级函数(如 fprintf)的专用 ASCII 文件。
MEX 文件,用于访问写入特定文本文件格式的 C/C++ 或 Fortran 例程。
除此之外,您还可以将数据导出到电子表格。
有两种方法可以将数字数组导出为分隔符分隔的 ASCII 数据文件:
使用 save 函数并指定 -ascii 限定符
使用 dlmwrite 函数
使用 save 函数的语法为:
save my_data.out num_array -ascii
其中,my_data.out 是创建的分隔符分隔的 ASCII 数据文件,num_array 是数字数组,−ascii 是指定符。
使用 dlmwrite 函数的语法为:
dlmwrite('my_data.out', num_array, 'dlm_char')
其中,my_data.out 是创建的分隔符分隔的 ASCII 数据文件,num_array 是数字数组,dlm_char 是分隔符字符。
示例
以下示例演示了该概念。创建脚本文件并键入以下代码:
num_array = [ 1 2 3 4 ; 4 5 6 7; 7 8 9 0];
save array_data1.out num_array -ascii;
type array_data1.out
dlmwrite('array_data2.out', num_array, ' ');
type array_data2.out
运行文件时,它将显示以下结果:
1.0000000e+00 2.0000000e+00 3.0000000e+00 4.0000000e+00 4.0000000e+00 5.0000000e+00 6.0000000e+00 7.0000000e+00 7.0000000e+00 8.0000000e+00 9.0000000e+00 0.0000000e+00 1 2 3 4 4 5 6 7 7 8 9 0
请注意,save -ascii 命令和 dlmwrite 函数不适用于元胞数组作为输入。要从元胞数组的内容创建分隔符分隔的 ASCII 文件,您可以
或者,使用 cell2mat 函数将元胞数组转换为矩阵
或者使用低级文件 I/O 函数导出元胞数组。
如果您使用 save 函数将字符数组写入 ASCII 文件,它会将字符的 ASCII 等效项写入文件。
例如,让我们将单词“hello”写入文件:
h = 'hello'; save textdata.out h -ascii type textdata.out
MATLAB 执行上述语句并显示以下结果。这是字符串“hello”的字符以 8 位 ASCII 格式显示。
1.0400000e+02 1.0100000e+02 1.0800000e+02 1.0800000e+02 1.1100000e+02
写入日志文件
日志文件是 MATLAB 会话的活动日志。diary 函数会在磁盘文件中创建会话的精确副本,但不包括图形。
要打开 diary 函数,请键入:
diary
或者,您可以提供日志文件的名称,例如:
diary logdata.out
要关闭 diary 函数:
diary off
您可以在文本编辑器中打开日志文件。
使用低级 I/O 将数据导出到文本数据文件
到目前为止,我们已经导出了数字数组。但是,您可能需要创建其他文本文件,包括数字和字符数据的组合、非矩形输出文件或使用非 ASCII 编码方案的文件。出于这些目的,MATLAB 提供了低级 fprintf 函数。
与低级 I/O 文件活动一样,在导出之前,您需要使用 fopen 函数打开或创建文件并获取文件标识符。默认情况下,fopen 以只读方式打开文件。您应该指定写入或追加的权限,例如“w”或“a”。
处理完文件后,您需要使用 fclose(fid) 函数关闭它。
以下示例演示了该概念:
示例
创建脚本文件并在其中键入以下代码:
% create a matrix y, with two rows
x = 0:10:100;
y = [x; log(x)];
% open a file for writing
fid = fopen('logtable.txt', 'w');
% Table Header
fprintf(fid, 'Log Function\n\n');
% print values in column order
% two values appear on each row of the file
fprintf(fid, '%f %f\n', y);
fclose(fid);
% display the file created
type logtable.txt
运行文件时,它将显示以下结果:
Log Function 0.000000 -Inf 10.000000 2.302585 20.000000 2.995732 30.000000 3.401197 40.000000 3.688879 50.000000 3.912023 60.000000 4.094345 70.000000 4.248495 80.000000 4.382027 90.000000 4.499810 100.000000 4.605170