将matlab中数据输出保存为txt或dat格式

一、将matlab中数据输出保存为txt或dat格式的三种方法。

第一种方法:save(最简单基本的)

具体的命令是:用save *.txt -ascii x
x为变量
*.txt为文件名,该文件存储于当前工作目录下,再打开就可以打开后,数据有可能是以指数形式保存的.

例子:

a =[17 24 1 8 15;23 5 7 14 16 ;4 6 13 20 22 ;10 12 19 21 3 ;11 18 25 2 9 ];
save afile.txt -ascii a
afile.txt打开之后,是这样的:
1.7000000e+001 2.4000000e+001 1.0000000e+000 8.0000000e+000 1.5000000e+001
2.3000000e+001 5.0000000e+000 7.0000000e+000 1.4000000e+001 1.6000000e+001
4.0000000e+000 6.0000000e+000 1.3000000e+001 2.0000000e+001 2.2000000e+001
1.0000000e+001 1.2000000e+001 1.9000000e+001 2.1000000e+001 3.0000000e+000
1.1000000e+001 1.8000000e+001 2.5000000e+001 2.0000000e+000 9.0000000e+000

第二种方法:dlmwrite

dlmwrite(‘a.txt’,a,‘precision’,’%10.0f’)

或者是dlmwrite(‘a.txt’,a,‘delimiter’, ‘\t’)

对于只有一行或者一列的数据,很适用,但是多行的,就乱了

网上有很多这一类似的问题,但是都不是很理想

第三种方法:fopen+fprintf

下面主要介绍这种方法,可以解决以上问题:用fprintf命令:以上面的例子为例:

第一种情况:

^ >> a=[17 24 1 8 15;23 5 7 14 16 ;4 6 13 20 22 ;10 12 19 21 3 ;11 1825 2 9 ];
^>> fid = fopen(‘b.txt’,‘wt’);
fprintf(fid,’%g\n’,a); # \n 换行
fclose(fid);

然后用写字板打开b.txt,内容如下:为列向量

17
23
4
10
11
24
5
6
12
18
1
7
13
19
25
8
14
20
21
2
15
16
22
3
9

第二种情况:

对上面的命令做一下改动:# \n 换行改为\t,table键

^>> fid = fopen(‘b.txt’,‘w’);
fprintf(fid,’%g\t’,a);
fclose(fid);

然后用写字板打开b.txt,内容如下:为行向量:

17 23 4 10 11 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9

第三种情况:

综合上面的两个结果,我们编写以下命令:

fid=fopen(‘b.txt’,‘wt’);%写入文件路径
[m,n]=size(a);
for i=1:1:m
for j=1:1:n
if j==n
fprintf(fid,’%g\n’,a(i,j));
else
fprintf(fid,’%g\t’,a(i,j));
end
end
end
fclose(fid);

然后用写字板打开b.txt,内容如下:矩阵

17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9

说明:以上操作都是在当前的工作目录下完成!下面给出最一般的模型,大家可以试着自己操作,如果需要dat格式,直接把txt换为dat就可以

fid=fopen(‘C:\Documents and Settings\cleantotal.ped’,‘wt’);%写入文件路径
matrix=input_mattrix %input_matrix为待输出矩阵
[m,n]=size(matrix);
for i=1:1:m
for j=1:1:n
if j==n
fprintf(fid,’%g\n’,matrix(i,j));
else
fprintf(fid,’%g\t’,matrix(i,j));
end
end
end
fclose(fid);

二、matlab的fopen和fprintf函数具体解释

下面附了具体的matlab的fopen和fprintf函数具体解释,当然help一下是可以知道的,只是为了方便大家

matlab中fopen函数在指定文件打开的实例如下:

*1)“fopen”打开文件,赋予文件代号。
语法1:FID= FOPEN(filename,permission)
用指定的方式打开文件
FID=+N(N是正整数):表示文件打开成功,文件代号是N.
FID=-1 : 表示文件打开不成功。
FID在此次文件关闭前总是有效的。
如以读方式打开,matlab首先搜索工作目录,其次搜索matlab的其他目录,“permission”是打开方式参数。
打开方式参数由以下字符串确定:
r 读出
w 写入(文件若不存在,自动创建)
a 后续写入(文件若不存在,自动创建)
r+ 读出和写入(文件应已存在)
w+ 重新刷新写入,(文件若不存在,自动创建)
a+ 后续写入(文件若不存在,自动创建))
w 重新写入,但不自动刷新
a 后续写入,但不自动刷新
文件的存储格式:文件打开的默认方式是:二进制。以文本方式打开,可以在方式参
数“permission”中加入“t”文件将,如“rt”,“wt+”

matlab中fprintf函数的具体使用方法实例如下:

fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为:

数据的格式化输出:fprintf(fid, format, variables)

按指定的格式将变量的值输出到屏幕或指定文件

fid为文件句柄,若缺省,则输出到屏幕

1 for standard output (the screen) or 2 for standarderror. If FID is omitted, output goes to the screen.

format用来指定数据输出时采用的格式

%d 整数%e 实数:科学计算法形式%f 实数:小数形式%g 由系统自动选取上述两种格式之一%s 输出字符串

fprintf(fid,format,A)
说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。
例6.9 创建一个字符矩阵并存入磁盘,再读出赋值给另一个矩阵。
^>> a=‘string’;
^>> fid=fopen(‘d:\char1.txt’,‘w’);
^>> fprintf(fid,’%s’,a);
^>> fclose(fid);
^>> fid1=fopen(‘d:\char1.txt’,‘rt’);
^>> fid1=fopen(‘d:\char1.txt’,‘rt’);
^>> b=fscanf(fid1,’%s’)
b =
string

matlab读txt文件

fid=fopen(‘fx.txt’,‘r’);
%得到文件号
[f,count]=fscanf(fid,’%f %f’,[12,90]);
%把文件号1的数据读到f中。其中f是[12 90]的矩阵
%这里’%f %f’表示读取数据的形势,他是按原始数据型读出
fclose(fid);
%关闭文件
另外有的txt文件还可以用load来打开
其语句为
f=load('fx.txt)

字符串操作函数

  1. 函数eval可以用来执行用字符串表示的表达式

  2. 函数deblank可以去掉字符串末尾的所有空格

  3. 函数findstr可以用来在长字符串中查找一个短的字符串,并返回相应的位置

  4. 函数isstr可以用来判断变量是否为字符串

  5. 函数isletter可以用来判断字符串中各个元素是否为字母

  6. 函数isspace可以用来判断字符串元素是否为空格符

  7. 函数lower和upper可以把字符串中的字母转为小写格式和大写格式

  8. 函数strcat可以把多个字符串在水平方向上依次连接起来

  9. 函数strvcat可以把多个字符串按竖直方向连接起来

  10. 函数strcmp可以用来进行字符串的比较,返回1或0

  11. 函数strcmpi可以用来忽略英文字母的大小写方式比较字符串

  12. 函数strncmp可以用来比较字符串前N个字符是否相同

  13. 函数strjust可以用来调整字符串矩阵的对齐方式

  14. 函数strmatch可以用来寻找和目标字符串匹配的行

  15. 函数strrep可以实现字符串的查找和替代功能

  16. 函数strtok可以找出字符串第一个空格符前的字符串

  17. 函数texlabel可以把字符串转换成tex软件的格式

  18. 不同进制间的转换,bin2hex,bin2dec(‘字符串’);dec2hex(数)=字符串;即十进制数不为字符串, 其它进制为字符串

  19. 函数bitget可以用来获取二进制的数位 C=bitget(A,bit),A为一个无符号整形数据

  20. 函数bitset可以用来设定某个二进制数位的值 C=bitset(A,bit) 指定数位的数值取反

    C=bitset(A,bit,V)指定数位的数值被V替换

  21. 函数bitand,bitor和bitxor可以用来进行‘与’,‘或’,‘抑或’数位操作

三、转换字符

在这里插入图片描述

四、将文件内容读取到数组中

创建一个包含整数和浮点数的示例文本文件。

x = 1:1:5;
y = [x;rand(1,5)];
fileID = fopen('nums2.txt','w');
fprintf(fileID,'%d %4.4f\n',y);
fclose(fileID);

查看文件的内容。

type nums2.txt

1 0.8147
2 0.9058
3 0.1270
4 0.9134
5 0.6324
打开要读取的文件并获取文件标识符 fileID。

fileID = fopen(‘nums2.txt’,‘r’);

定义要读取的数据的格式和输出数组的形状。

formatSpec = '%d %f';
sizeA = [2 Inf];

读取文件数据并按列顺序填充输出数组 A。fscanf 在整个文件中重新使用格式 formatSpec。

A = fscanf(fileID,formatSpec,sizeA)

A = 2×5
1.0000 2.0000 3.0000 4.0000 5.0000
0.8147 0.9058 0.1270 0.9134 0.6324

fclose(fileID);

https://blog.csdn.net/iqizheng/article/details/11853919
https://ww2.mathworks.cn/help/matlab/ref/fprintf.html
https://ww2.mathworks.cn/help/matlab/ref/fscanf.html#bt_j35z-2_1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345503.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤题库】国家开放大学2021春2633轨道交通信号与通信系统题目

试卷代号:2633 2021年春季学期期末统一考试 轨道交通信号与通信系统 试题 2021年7月 一、单项选择题(每小题2分,共20分,将正确答案选项的字母填入题目中的括号内) 1.城市轨道交通系统的安全、速度、输送能力和效率与信…

【渝粤题库】国家开放大学2021春2724市场营销原理与实务题目

试卷代号:2724 2021年春季学期期末统一考试 市场营销原理与实务 试题 2021年7月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监…

马尔可夫链笔记

1 引言 之前学习了伯努利过程和泊松过程,它们是无记忆性,不依赖于过去的状态,今天学习了马尔可夫链,它会依赖于过去的过程,更准确的说是依赖于过去的某种状态。 2 离散时间的马尔可夫链(Markov Chain, MC…

【渝粤题库】国家开放大学2021春2768养禽技术题目

试卷代号: 2768 2021年春季学期期末统一考试 养禽技术 试题 2021年7月 一、单项选择题(每小题3分,共30分) 1.下列品种中属于兼用型鸭品种的是( )。 A.高邮鸭 B.北京鸭 C.绍兴鸭 D.金定鸭 2.鸡的第一限制性氨基酸是( )。 A.蛋氨酸 …

【渝粤题库】国家开放大学2021春3608矿井水害防治题目

试卷代号:3608 2021年春季学期期末统一考试 矿井水害防治 试题 2021年7月 一、单项选择题(本题型共10题,每题3分,共30分。以下各题每题只有一个正确答案,将正确答案的代号填入题中的括号内) 1.划分为水文地…

解决气味

有时我们可能会在代码库中遇到一些巨大的if语句。 这些语句必须维护并一次又一次地更改相同的代码块。 在if语句检查变量是否属于某个值范围内的情况下,这也是常见的。 假设您有一个枚举 public enum FoodType {FRUIT,VEGETABLES,RED_MEAT,WHITE_MEAT,FISH,DIARY,…

「协方差」与「相关系数」的概念

一、协方差: 可以通俗的理解为:两个变量在变化过程中是同方向变化?还是反方向变化?同向或反向程度如何? 你变大,同时我也变大,说明两个变量是同向变化的,这时协方差就是正的。 你…

【渝粤题库】国家开放大学2021春3929电气安全技术题目

试卷代号:3929 2021年春季学期期末统一考试 电气安全技术 试题(开卷) 2021年7月 一、单选题(每小题3分,共30分) 1.定时过电流保护的动作电流应躲过( )。 A.线路末端的最大短路电流 B.线路末端的最小短路电流…

【渝粤题库】国家开放大学2021春4010渠道管理题目

试卷代号:4010 2021年春季学期期末统一考试 渠道管理 试题 2021年7月 一、单项选择题(在备选答案中,有一个正确答案,请将正确答案的字母填入括号内。每小题2分,共20分) 1.渠道管理人员一般位于企业的中低层…

在matlab中输出、读取多个文件

%% 输出及读取多个文件 % filepathD:\new\;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 输出多个文件 t_start 1; % start time t_end 100; % ending time min arr_rate 50; % data arrival rate at HAP******* for k1:5 M int2str(k); N .txt.; L ./; output [L M N];…

【渝粤题库】广东开放大学 外贸会计1 形成性考核

选择题 题目: 题干 下列选项中,属于反映会计信息的基本过程和手段的是()。 选择一项或多项: 题目: 当受益人对信用证开证行能否有效执行付款缺乏信心时,受益人可以要求开证申请人另外申请一家…

垃圾收集 java_关于Java垃圾收集

垃圾收集 java本文讨论的是使用的最流行的框架之一带来的开销–我敢打赌,几乎没有应用程序不使用java.util.Collections。 本文基于以下事实:框架为例如集合的初始大小提供了默认值。 因此,我们有一个假设,即大多数人不会费心地自…

在git bush中如何退出vim编辑器

编辑器有三种模式: 命令行模式末行模式输入模式 常用命令 按Esc退出输入模式进入命令行模式也是系统默认模式。 o,i,a都可以进入输入模式。在命令模式下键入ZZ或者:wq保存修改并且退出 。如果只想保存文件,则键入:w&#xff0c…

【渝粤题库】广东开放大学 互联网营销 形成性考核

选择题 题目:下面的哪个调研内容属于经济环境调研?() 题目:()的目的就是加强与客户的沟通,它是是网络媒体也是网络营销的最重要特性。 题目:4Ps策略中4P是指产品、价格、…

【渝粤题库】广东开放大学 信息安全数学基础 形成性考核 (2)

选择题 题目:2.设a,b都是非零整数,若a|p,b|a, 则( ) . 题目:3.大于20且小于50的素数有()个. 题目:4.下列四个选项中,( ) 是安全素数. 题目:5.设b6,则余数r ( )为最小正余数. 题目:16…

带Spring Boot的GWT

介绍 我最近一直在研究用Java编写UI代码的选项。 在我以前的文章中,我研究了Eclipse RAP,发现它可以与Spring Boot集成在一个可执行jar中。 这次我想对GWT做同样的技巧。 每个人都喜欢Spring Boot。 它使很多事情变得更加干净和容易。 但是从历史上看&a…

matlab中统计数组中各数字(元素)出现的次数

1. tabulate 调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数、频率 【例1】统计数值型数组中各元素出现的频数、频率。 >> x [2 2 6 5 2 3 2 4 3 4 3 4 4 4 4 2 26 0 4 7 2 5 8 3 1 3 2 5 3 …

【渝粤题库】广东开放大学 大学英语B 形成性考核

选择题 题目: Do you still get free plastic bags from the supermarkets? Things have changed. China has banned free plastic bags at shops and supermarkets, and people have to pay for using plastic bags. The rule started on June 1. It came becaus…

Latex \bibliographystyle+修改字体字号的大小

1. bibliography style LaTeX 标准选项及其样式共有以下8种: plain ,按字母的顺序排列,比较次序为作者、年度和标题. unsrt ,样式同plain,只是按照引用的先后排序. alpha ,用作者名首字母年份后两位作标号…

【渝粤题库】广东开放大学 文化产业经济学 形成性考核

选择题 题目:受传统文化影响,中国的父母生孩子的意义和其他国家截然不同。父母一方面节衣缩食给孩子提供最好的物质条件,一方面对孩子"四体不勤”给予最大的宽容。这说明()。 题目:当今国际竞争的实质…