日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > 循环神经网络 >内容正文

循环神经网络

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

發(fā)布時(shí)間:2023/12/2 循环神经网络 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将matlab中数据输出保存为txt或dat格式 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、將matlab中數(shù)據(jù)輸出保存為txt或dat格式的三種方法。

第一種方法:save(最簡(jiǎn)單基本的)

具體的命令是:用save *.txt -ascii x
x為變量
*.txt為文件名,該文件存儲(chǔ)于當(dāng)前工作目錄下,再打開就可以打開后,數(shù)據(jù)有可能是以指數(shù)形式保存的.

例子:

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(chǎn).txt’,a,‘precision’,’%10.0f’)

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

對(duì)于只有一行或者一列的數(shù)據(jù),很適用,但是多行的,就亂了

網(wǎng)上有很多這一類似的問(wèn)題,但是都不是很理想

第三種方法:fopen+fprintf

下面主要介紹這種方法,可以解決以上問(wèn)題:用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,內(nèi)容如下:為列向量

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

第二種情況:

對(duì)上面的命令做一下改動(dòng):# \n 換行改為\t,table鍵

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

然后用寫字板打開b.txt,內(nèi)容如下:為行向量:

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

第三種情況:

綜合上面的兩個(gè)結(jié)果,我們編寫以下命令:

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,內(nèi)容如下:矩陣

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

說(shuō)明:以上操作都是在當(dāng)前的工作目錄下完成!下面給出最一般的模型,大家可以試著自己操作,如果需要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函數(shù)具體解釋

下面附了具體的matlab的fopen和fprintf函數(shù)具體解釋,當(dāng)然help一下是可以知道的,只是為了方便大家

matlab中fopen函數(shù)在指定文件打開的實(shí)例如下:

*1)“fopen”打開文件,賦予文件代號(hào)。
語(yǔ)法1:FID= FOPEN(filename,permission)
用指定的方式打開文件
FID=+N(N是正整數(shù)):表示文件打開成功,文件代號(hào)是N.
FID=-1 : 表示文件打開不成功。
FID在此次文件關(guān)閉前總是有效的。
如以讀方式打開,matlab首先搜索工作目錄,其次搜索matlab的其他目錄,“permission”是打開方式參數(shù)。
打開方式參數(shù)由以下字符串確定:
r 讀出
w 寫入(文件若不存在,自動(dòng)創(chuàng)建)
a 后續(xù)寫入(文件若不存在,自動(dòng)創(chuàng)建)
r+ 讀出和寫入(文件應(yīng)已存在)
w+ 重新刷新寫入,(文件若不存在,自動(dòng)創(chuàng)建)
a+ 后續(xù)寫入(文件若不存在,自動(dòng)創(chuàng)建))
w 重新寫入,但不自動(dòng)刷新
a 后續(xù)寫入,但不自動(dòng)刷新
文件的存儲(chǔ)格式:文件打開的默認(rèn)方式是:二進(jìn)制。以文本方式打開,可以在方式參
數(shù)“permission”中加入“t”文件將,如“rt”,“wt+”

matlab中fprintf函數(shù)的具體使用方法實(shí)例如下:

fprintf函數(shù)可以將數(shù)據(jù)按指定格式寫入到文本文件中。其調(diào)用格式為:

數(shù)據(jù)的格式化輸出: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用來(lái)指定數(shù)據(jù)輸出時(shí)采用的格式

%d 整數(shù)%e 實(shí)數(shù):科學(xué)計(jì)算法形式%f 實(shí)數(shù):小數(shù)形式%g 由系統(tǒng)自動(dòng)選取上述兩種格式之一%s 輸出字符串

fprintf(fid,format,A)
說(shuō)明:fid為文件句柄,指定要寫入數(shù)據(jù)的文件,format是用來(lái)控制所寫數(shù)據(jù)格式的格式符,與fscanf函數(shù)相同,A是用來(lái)存放數(shù)據(jù)的矩陣。
例6.9 創(chuàng)建一個(gè)字符矩陣并存入磁盤,再讀出賦值給另一個(gè)矩陣。
^>> 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’);
%得到文件號(hào)
[f,count]=fscanf(fid,’%f %f’,[12,90]);
%把文件號(hào)1的數(shù)據(jù)讀到f中。其中f是[12 90]的矩陣
%這里’%f %f’表示讀取數(shù)據(jù)的形勢(shì),他是按原始數(shù)據(jù)型讀出
fclose(fid);
%關(guān)閉文件
另外有的txt文件還可以用load來(lái)打開
其語(yǔ)句為
f=load('fx.txt)

字符串操作函數(shù)

  • 函數(shù)eval可以用來(lái)執(zhí)行用字符串表示的表達(dá)式

  • 函數(shù)deblank可以去掉字符串末尾的所有空格

  • 函數(shù)findstr可以用來(lái)在長(zhǎng)字符串中查找一個(gè)短的字符串,并返回相應(yīng)的位置

  • 函數(shù)isstr可以用來(lái)判斷變量是否為字符串

  • 函數(shù)isletter可以用來(lái)判斷字符串中各個(gè)元素是否為字母

  • 函數(shù)isspace可以用來(lái)判斷字符串元素是否為空格符

  • 函數(shù)lower和upper可以把字符串中的字母轉(zhuǎn)為小寫格式和大寫格式

  • 函數(shù)strcat可以把多個(gè)字符串在水平方向上依次連接起來(lái)

  • 函數(shù)strvcat可以把多個(gè)字符串按豎直方向連接起來(lái)

  • 函數(shù)strcmp可以用來(lái)進(jìn)行字符串的比較,返回1或0

  • 函數(shù)strcmpi可以用來(lái)忽略英文字母的大小寫方式比較字符串

  • 函數(shù)strncmp可以用來(lái)比較字符串前N個(gè)字符是否相同

  • 函數(shù)strjust可以用來(lái)調(diào)整字符串矩陣的對(duì)齊方式

  • 函數(shù)strmatch可以用來(lái)尋找和目標(biāo)字符串匹配的行

  • 函數(shù)strrep可以實(shí)現(xiàn)字符串的查找和替代功能

  • 函數(shù)strtok可以找出字符串第一個(gè)空格符前的字符串

  • 函數(shù)texlabel可以把字符串轉(zhuǎn)換成tex軟件的格式

  • 不同進(jìn)制間的轉(zhuǎn)換,bin2hex,bin2dec(‘字符串’);dec2hex(數(shù))=字符串;即十進(jìn)制數(shù)不為字符串, 其它進(jìn)制為字符串

  • 函數(shù)bitget可以用來(lái)獲取二進(jìn)制的數(shù)位 C=bitget(A,bit),A為一個(gè)無(wú)符號(hào)整形數(shù)據(jù)

  • 函數(shù)bitset可以用來(lái)設(shè)定某個(gè)二進(jìn)制數(shù)位的值 C=bitset(A,bit) 指定數(shù)位的數(shù)值取反

    C=bitset(A,bit,V)指定數(shù)位的數(shù)值被V替換

  • 函數(shù)bitand,bitor和bitxor可以用來(lái)進(jìn)行‘與’,‘或’,‘抑或’數(shù)位操作

  • 三、轉(zhuǎn)換字符

    四、將文件內(nèi)容讀取到數(shù)組中

    創(chuàng)建一個(gè)包含整數(shù)和浮點(diǎn)數(shù)的示例文本文件。

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

    查看文件的內(nèi)容。

    type nums2.txt

    1 0.8147
    2 0.9058
    3 0.1270
    4 0.9134
    5 0.6324
    打開要讀取的文件并獲取文件標(biāo)識(shí)符 fileID。

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

    定義要讀取的數(shù)據(jù)的格式和輸出數(shù)組的形狀。

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

    讀取文件數(shù)據(jù)并按列順序填充輸出數(shù)組 A。fscanf 在整個(gè)文件中重新使用格式 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

    總結(jié)

    以上是生活随笔為你收集整理的将matlab中数据输出保存为txt或dat格式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。