4.5 教程:MATLAB输出结果的格式设置

在本章的前面几节里,我们用fprintf( )函数把文本消息输出到屏幕上。在这一节,读者将要学习用fprintf(

)函数把变量的值输出到屏幕上或一个结果文件里,还要学习如何对这些变量的值和相应的文字说明进行格式设置。

fid是文件标识符,当结果输出到屏幕时,可以省略fid。单引号之间的内容是每个变量的输出格式转换说明。每个输出格式说明以%开始,后面紧跟与该变量有关的字符串(可选)、小数位数和格式类型。格式类型有:

f=定点小数表示

e或E=科学表示法

i=整数表示法

例如,%8.1e表示以科学表示法输出该变量的值,整个值占用8个字符,小数位数取1位。

字符串可以包含像\n这样的特殊字符,它表示换到下一行。还有其他几个特殊字符,如\t表示tab。在MATLAB的帮助文档中搜索fprintf(

)的用法,就会看到有关fprintf( )函数的各种格式选项。对于大多数应用,本节介绍的这些选项已经足够了。

为了说明fprintf( )函数的用法。我们分析表4-2中所示的例子。在这些例子里,m=12, d=7532.1234。

在前一节的Triangle脚本程序里,每个三角形由边长x、y和h确定。每找到一个三角形,我们都希望把三边的长度显示在同一行里。

在Triangle脚本里,找到在屏幕上输出x、y和h的行,用一个fprintf(

)函数把它们输出到同一行里。此外,修改最后一行,这一行输出计数器m的值。其他值都不变。

表4-2 fprintf命令的示例

需要注意的是,第22行的"\n"字符的作用是,在输出每个三角形的x、y和h的值后,自动换行到下一行。在第26行里,字符串的开始有一个"\n"字符,这会使在最后一个三角形输出后,跳过一行,输出这个字符串。而字符串后面的"\n",会使提示符显示在下一行的行首。

保存修改后的脚本程序,在命令窗口里,输入clc命令,清除屏幕,运行Triangle脚本程序,结果如图4-22所示。

我们很容易把屏幕上的输出结果复制到Word或Excel文档里。但是,如果在屏幕上输出大量的数据,我们有时候希望直接把数据保存到一个结果文件里。为此需要先定义文件名。这可以用fopen命令实现。定义一个文件名的方法如下:

把filename这个文件的标示符赋给变量fid(使用其他变量也可以)表示。如果生成的是一个文本文件,最好在文件名后加上.txt扩展名。这样,当我们在Windows里双击这个文件名,就可以用默认的文本编辑器(通常是记事本程序)打开这个结果文件。文件的属性(attribute)用wt表示,它表示写入(write)文本文件(text)。如果这个文件还不存在,执行这个命令后,就会建立这个文件。如果系统中已存在这个文件,则它的全部内容会被新写入的内容覆盖。如果我们希望在一个已经存在的文件的末尾添加内容,要使用at属性。

现在要把Triangle程序的结果保存到output.txt文件里,需要把这个程序修改成如下的结果:

第9行的fopen命令建立一个具有写入属性的文件。第10行和第11行用于写入列标题。因为列标题只需写入一次,因此必须放在循环之前。fprintf(

)函数的第一个参数是fid,表示把变量输出到文件里,而非屏幕上。此外在第26行里,增加了fid标识符。注意当我们用fprintf(

)函数把输出结果保存到文件时,最后要在行尾加一个分号。否则会在命令窗口显示写入到文件里的字符个数。第30行输出符合要求的三角形个数。这里的fprintf(

)函数并没有fid这个标识符,因此,它会把输出结果显示在屏幕上,而不是结果文件里。

保存并运行这个脚本文件。

现在只有三角形的个数显示在屏幕上,如图4-23所示。

我们注意到,在当前目录窗口里多了一个output.txt文件,如图4-24所示。这个文件可以用记事本、Word或Excel,甚至用MATLAB的编辑器打开。要想在MATLAB的编辑器里打开这个文件,只需要双击当前目录窗口的文件名。

这个文件的内容如图4-25所示。

最后,把脚本中第13行和第14行的x和y的上限值修改为1000,保存并运行这个文件。

在命令窗口里,我们看到有456个边长为整数的三角形符合要求。如果打开output.txt文件,就会在这个文件里看到全部的456个答案。

matlab 输出一行字,MATLAB输出结果的格式设置相关推荐

  1. matlab离散系统 响应,离散系统的频率响应和输出响应的matlab实现

    离散系统的频率响应和输出响应的matlab实现 上海电力学院 信号与系统实验报告 题目:离散系统的频率响应和输出响应 班级: 2011023 专业:电气工程及其自动化 学号:20111257 2013 ...

  2. 3.1 matlab数据的输入和输出

    1.数据的输入 A=input(提示信息,选项); >> a = input('请输入变量a的值:') 请输入变量a的值:100a =100 2.数据的输出 disp(输出项); > ...

  3. MATLAB中的命令行输出

    1 问题描述 今天在学习MATLAB时 遇到一个问题 需要对计算结果进行输出 但是我不知道应该使用哪个函数 2 解决方案 使用disp()函数进行输出 举例来说: disp(['输出语句的信息',nu ...

  4. 注意力机制 | CNN-LSTM-Attention基于卷积-长短期记忆网络结合注意力机制多输入单输出回归预测(Matlab程序)

    注意力机制 | CNN-LSTM-Attention基于卷积-长短期记忆网络结合注意力机制多输入单输出回归预测(Matlab程序) 目录 注意力机制 | CNN-LSTM-Attention基于卷积- ...

  5. 【回归预测】基于TPA-LSTM(时间注意力注意力机制长短期记忆神经网络)实现数据多输入单输出回归预测附matlab代码

    1 内容介绍 随着当今时代科技不断地飞速发展,科技信息也在急剧增加,收集并挖掘分析这些来源多样化的科技信息,有助于推动科技的发展.而预测作为一种重要的数据研究方法,在各个行业各个领域都有着广泛的应用. ...

  6. 反激变换器 闭环 仿真 flyback MATLAB simulink 输入60v,输出30v

    反激变换器 闭环 仿真 flyback MATLAB simulink 输入60v,输出30v 编号:8320666333695613锦从静中来

  7. matlab 怎么打矩阵,matlab怎么打印矩阵 matlab 如何输出矩阵?

    matlab 如何输出矩阵 a %注意变量a后面没有";"号,即可输出disp(a) Matlab常用生成矩阵函数: zeros(m,n) 生成一个 m 行 n 列的零矩阵,m=n ...

  8. matlab怎么导出矩阵,matlab 如何输出矩阵?

    a %注意变量a后面没有";"号,即可输出disp(a) Matlab常用生成矩阵函数: zeros(m,n) 生成一个 m 行 n 列的零矩阵,m=n 时可简写为 zeros(n ...

  9. matlab 列出具体表达式,MATLAB中如何实现输出一个函数表达式

    答:要具体哦,如果一个自变量,函数图像就是曲线,用plot 如果是2个自变量,函数图像就是曲面了,如f=3*exp(-x-4*y),可以用以下表示. f=@(x,y)3*exp(-x-4*y); ez ...

  10. Matlab/Simulink中的数据输出到Matlab工作空间中

    1.按照图中操作 2.数据输出到了Matlab的工作空间 3.使用这些数据绘图 plot(out.tout,out.y2.signals(1).values) 注意:这里的时间变量名和输出变量名需要根 ...

最新文章

  1. DWR第六篇之文件下载
  2. Fiori hash and route
  3. 在 App 扩展和主 App 间共享数据
  4. C++标准库函数begin和end函数
  5. 【Python】Matplotlib绘制各式各样的圆形
  6. PYTHON——TCPUDP:socketserver实现多人聊天
  7. 编译原理:c语言词法分析器的实现
  8. 如何用两个栈实现一个队列
  9. OpenCV提取图书条码(ISBN码)
  10. 遗传算法(四)——交叉、变异与替换
  11. android中接口的作用是什么意思,Type-C接口有什么好处?和安卓micro USB接口有什么区别...
  12. 怎样给win7系统硬盘分区
  13. python写数学公式大全_数学公式书写
  14. # 将日期的符串(Sat Mar 21 08:00:00 CST 2020 )转换为指定字符串日期(yyyy-MM-dd HH:mm:ss)
  15. Solver 配置详解
  16. 文件查找工具Everything的上下文菜单配置
  17. CCD相机与普通相机的区别
  18. 网络安全工程师的初学路径
  19. matlab三维实心图,matlab画实心散点图
  20. 包装印刷行业裕同集团易普优APS项目顺利验收!

热门文章

  1. psp记忆棒测试软件,psp记忆棒修复工具 ms-format
  2. Scrapy爬取起点小说网数据导入MongoDB数据库
  3. 基于三维冲击波的变分理论--交通运输工程(一)
  4. VS2012安装教程
  5. iOS蓝牙开发之数据传输精华篇
  6. 大学生创新创业计划-2020
  7. 【Python ASCII码转换】——制作ASCII码转换程序,并打包为应用程序
  8. 人工智能大数据,公开的海量数据集下载
  9. java记账软件开发_Java项目之家庭记账软件
  10. 计算机考研政治考哪些知识,带你了解408考研大纲,及21考研政治复习建议