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

matlab中数据输出保存为txtdat格式

总结网上各大论坛,主要有三种方法。

第一种方法: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 18 25 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 

第三种情况:
综合上面的两个结果,我们编写以下命令:

<A style="key: ih.baidu.comfid=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函数具体解释,当然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 standard error. 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可以用来进行‘与’,‘或’,‘抑或’数位操作

 感谢:http://wenku.baidu.com/link?url=S7IxIDgbkKXLbc8If-ewVI4tgfRmjLNObNxKCxj9_asMBDIcech0_WFNj24PSW8ZieNKlTOWlg4UJUOpNG6B3iMh9Uw_0Q5zth8sGNSxhba###

转载于:https://www.cnblogs.com/realkate1/p/5358083.html

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

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

相关文章

mysql数据库算法_数据库:MySQL索引背后的数据结构及算法原理【转】

原文&#xff1a;http://blog.codinglabs.org/articles/theory-of-mysql-index.html摘要本文以MySQL数据库为研究对象&#xff0c;讨论与数据库索引相关的一些话题。特别需要说明的是&#xff0c;MySQL支持诸多存储引擎&#xff0c;而各种存储引擎对索引的支持也各不相同&#…

Anaconda详细安装及安装Scrapy框架

Anacond的介绍 Anaconda指的是一个开源的Python发行版本&#xff0c;其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包&#xff0c;Anaconda 的下载文件比较大&#xff08;约 531 MB&#xff09;&#xff0c;如果只需要某些包&#xff0c;或者需要节…

时下流行的9种恶意软件,你都了解吗?

来自&#xff1a;FreeBuf.COM*参考来源&#xff1a;csoonline&#xff0c;Karunesh91编译当今时代&#xff0c;网络世界处处充满了危机&#xff0c;对于网络用户来说&#xff0c;能够对各种类型的恶意软件进行了解&#xff0c;也许有助于在网上冲浪的过程中保全自身。病毒计算机…

Windows下OpenSSL创建CA证书以及客户端和服务器端证书

打开命令行工具&#xff0c;转到安装目录bin文件夹&#xff0c;$ mkdir -p ./demoCA/{private,newcerts}$ touch ./demoCA/index.txt$ echo 01 > ./demoCA/serial产生的目录结构如下&#xff1a;-- demoCA/|-- index.txt|-- newcerts/|-- private/-- serial然后执行下面的命…

SpringCloud和SprigBoot之间的依赖关系怎么看

SpringCloud官网地址 https://spring.io/projects/spring-cloud 不推荐使用了&#xff0c;推荐用最新的是Hoxton版本 打开下面提供的网页 https://start.spring.io/actuator/info 使用解析工具查看 https://tool.lu/json/ 查看json串返回的结果 { "git": { …

微软最强命令行工具 Windows Terminal,强势霸榜GitHub

命令提示符也是算 Windows 系统的一大特色了&#xff0c;相信很多人刚看到这白底黑字的界面都有点哭笑不得吧&#xff0c;好在后来微软陆续推出了Powershell、cmd之类的命令行工具&#xff0c;来提供一些更加高级的功能如今微软更进一步&#xff0c;放出一大招&#xff0c;正式…

easyui edatagrid 触发编辑行回掉onEdit

dg.edatagrid(selectRow, i).edatagrid(beginEdit, i);var opts dg.edatagrid("options");opts.onEdit.call(this, i, rows[i]); 转载于:https://www.cnblogs.com/zt528/p/5359388.html

修改Windows远程桌面3389端口

3389端口是Windows 2000(2003) Server 远程桌面的服务端口&#xff0c;可以通过这个端口&#xff0c;用“远程桌面”等连接工具来连接到远程的服务器,如果连接上了&#xff0c;输入系统管理员的用户名和密码后&#xff0c;将变得可以像操作本机一样操作远程的电脑&#xff0c;因…

mysql 5.7.17源码包_centos7 mysql5.7.17源码安装

centos7 mysql5.7.17源码安装**安装前准备操作系统环境:Centos 7.21、解决依赖包并下载源码包至/home/soft/目录下[rootnode03 ~]# yum -y install gcc gcc-c ncurses ncurses-devel cmake bison[rootnode03 ~]# cd /home/soft/[rootnode03 soft]# wget https://sourceforge.ne…

SpringCloud版本名字

SpringCloud版本号字母由来 https://github.com/spring-projects/spring-cloud/wiki SpringCloud最新版Hoxton SpringCloud官网 https://spring.io/projects/spring-cloud#learn

Lua学习教程之 可变參数数据打包与解包

利用table的pack与unpack进行数据打包与解包。測试代码例如以下: print("Test table.pack()----------------");function printTable ( t )if type(t) "table" thenfor k,v in pairs(t) doprintTable(v);endelseprint(t);end endlocal packData function(…

程序员20句励志名言

1、作为一个真正的程序员&#xff0c;首先应该尊重编程&#xff0c;热爱你所写下的程序&#xff0c;他是你的伙伴&#xff0c;而不是工具。2、程序员可以让步&#xff0c;却不可以退缩&#xff0c;可以羞涩&#xff0c;却不可以软弱&#xff0c;总之&#xff0c;程序员必须是勇…

批量保存到mysql_关于保存批量数据进入mysql

提出的要求&#xff1a;生成13位纯数字的卡号与8位纯数字的卡密&#xff0c;要求卡号与卡密都必须全表唯一&#xff0c;然后保存到mysql。思路&#xff1a;1.首先mysql中将这两个字段设置唯一索引&#xff0c;保证这两个字段的值在该表中是唯一存在的2.卡号是有序增长的&#x…

SpringCloud主要组件

SpringCloud主要组件 SpringCloud组件停更说明

求数组中的最小子数组,时间复杂度o(n),java

石家庄铁道大学 信1405-1 班 唐炳辉 题目&#xff1a;给定一个整数数组&#xff0c;找到一个具有最小和的子数组。返回其最小和。 设计思路&#xff1a;两个变量 &#xff0c;一个记录当前并入的数组的值&#xff0c;另外一个记录所算过得最大的数组的值,当并入的值为小于…

mysql 输出解释怎么看_了解MySQL中EXPLAIN解释命令

1 EXPLAIN概念EXPLAIN会向我们提供一些MySQL是执行sql的信息&#xff1a;EXPLAIN可以解释说明 SELECT, DELETE, INSERT, REPLACE, and UPDATE 等语句.当EXPLAIN与可解释的语句一起使用时&#xff0c;mysql会显示一些来自于优化器的关于sql执行计划的信息。即mysql解释它是如何处…

MYSQL数据库默认latin1字符集转换为GBK或UTF8

可以采用下面的方法latin1字符集转换为gbk字符集或utf8字符集。具体的转换步骤如下&#xff1a;一、latin1转gbk1、导出数据库mysqldump --default-character-setlatin1 -h 数据库连接ip -u root -P 3306 -p数据库密码 db_name table_name > /usr/home/test/table_name.sql2…

【Post工具】PostMan 他媳妇 PostWoman

一个免费&#xff0c;快速&#xff0c;美观的API请求构建器&#xff0c;可以替代 Postman。 测试网址&#xff1a; https://postwoman.io/ 下载地址 https://github.com/liyasthomas/postwoman 主要特性&#xff1a; 支持自定义换肤支持权限支持参数、请求体支持 PWA支持历…

MYSQL统计和识别重复值

1、查询和计算表person_tbl中&#xff08;last_name&#xff0c;first_name&#xff09;组合有重复的记录的数量。mysql> SELECT COUNT (*) AS repetitions, last_name, first_nameFROM person_tbl GROUP BY last_name, first_nameHAVING repetitions > 1;2、从结果集中…

main spring启动_SpringBoot学习(一):为什么main方法启动类需要放在项目根目录...

一、概述使用SpringBoot的应用是需要将应用代码编译打包成jar包&#xff0c;然后基于main方法的方式来独立启动这个应用&#xff0c;使得该应用作为一个独立进程运行。这是跟传统的将项目打包成war包&#xff0c;然后部署到tomcat服务器去运行的一个区别。而在应用当中&#xf…