【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.pswp.cn/news/272006.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272006.shtml
英文地址,請注明出處:http://en.pswp.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…