怎樣用matlab從檔案中讀取資料,每次只讀取一行

2021-05-02 22:15:38 字數 3468 閱讀 5763

1樓:楊好巨蟹座

問題描述:這樣的一個u.txt檔案,用matlab從中讀取資料,每次只讀

取一行進行處理,然後繼續...u.txt檔案如下: 14 19 337 312 12

16 33 31 19 19 36 32 12 17 33 11 14 10 36 11 42 11 36 11

12 71 35 31 43 17 33 10 45 72 35 21

答案1:: 編寫mymesh()函式:

function mymesh()

temdat=load('d:\test.txt');

if temdat== -1

('error opening the file');endfigure;h=plot3(temdat(:,1),temdat(:,2),temdat(:,3));

set(h,'linestyle','none')hold on;grid on;[x,y]=meshgrid(linspace(-150,150,500),linspace(-

150,150,500));

z = griddata(temdat(:,1),temdat(:,2),temdat(:,4),x,y);

meshc(x,y,z);

axis([0,180,0,180]);

matlab讀取txt文件資料

答案1:: 編寫mymesh()函式:

function mymesh()

temdat=load('d:\test.txt');

if temdat== -1

('error opening the file');endfigure;h=plot3(temdat(:,1),temdat(:,2),temdat(:,3));

set(h,'linestyle','none')hold on;grid on;[x,y]=meshgrid(linspace(-150,150,500),linspace(-

150,150,500));

2樓:吸血貴獵人

你說i的是什麼意思啊

matlab中如何讀取多個txt檔案中的某一行的資料

3樓:大野瘦子

這樣:% 實現思路:

% 1. 逐一以文字形式開啟檔案 file(n).txt ;

% 2. 逐行讀出資料,並判斷前9個字元是否 timestamp ;

% 3. 如是,在下一行接收資料存入結果並退出此檔案;

% 4. 如不是,繼續往下讀資料。

pt = 'd:\data\';      % 資料路徑

ff = 'file';          % 資料檔案字首

ext = '.txt';         % 資料副檔名

stamp = 'timestamp';  % 資料查詢標誌

n = 100;              % 檔案個數

for k = 1:n

id = num2str(k);

files = [pt ff id ext];  % 檔名列表

enddt = ;

for k = 1:length(files)

fds = 0;        % 查詢結果

fid = fopen(files);

while ~feof(fid)

tline = fgetl(fid)

if fds==1

dt = [dt; str2num(tline)];

fclose(fid);

break

else

if length(tline)>8

fds = strcmp(stamp,tline(1:9));

endend

endend注意事項

它的基本語法是:

[a,b,c,...] = textread(filename,format)

[a,b,c,...] = textread(filename,format,n)

其中filename就是檔名, format就是要讀取的格式,a,b,c就是從檔案中讀取到的資料。

中括號裡面變數的個數必須和format中定義的個數相同。 如果每n行相同格式的資料,可採用[a,b,c,...] = textread(filename,format,n)的語法,讀取n次。

舉例如下:

例1:myfile.txt 中的內容如下:

1 2 3 4

5 6 7 8

9 10 11 12

相應的語句為:

filename = '.\myfile.txt';

[data1,data2,data3,data4]=textread(filename,'%n%n%n%n');

或者為filename = '.\myfile.txt';

[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',3);

例2:myfile.txt 中的內容如下:

1, 2, 3, 4

5, 6, 7, 8

9, 10, 11, 12

相應的語句為:

filename = '.\myfile.txt';

[data1,data2,data3,data4]=textread(filename,'%n%n%n%n','delimiter', ',');

這裡delimiter指出分隔符,讀資料的時候會自動跳過分隔符。

例3:myfile.txt 中的內容如下:

% this a comment

1, 2, 3, 4

5, 6, 7, 8

9, 10, 11, 12

相應的語句為:

filename = '.\myfile.txt';

[data1,data2,data3,data4]=textread(filename,'%n%n%n%n','delimiter', ',','headerlines', 1);

這裡告訴textread跳過一開始的1行,1可以替換為任意你要跳過的行數。

例4:myfile.txt 中的內容如下:sally level1 12.34 45 yes

相應語句為:

filename = '.\myfile.txt';

[names, types, x, y, answer] = textread(filename , '%s %s %f %d %s', 1)

1、如果要忽略12.34這個浮點數:[names, types, y, answer] = textread(filename , '%s %s %*f %d %s', 1)。

 %*f告訴textread跳過一個浮點數。

2、如果要忽略level,只讀取後面的數字:[names, levelnum, x, y, answer] = textread(filename , ... '%s level%d %f %d %s', 1)

怎樣用matlab進行楔變換,怎樣用matlab進行小波變換

那就要看你的資料儲存格式是什麼樣式的,如果是txt的,用load函式進行匯入 如果是xls的,可以用xlsread函式進行匯入 怎麼用matlab實現小波變換?急!yc,ys wavedec2 y,2,db1 y為要分解的影象矩陣 2為分解的層數,db1 為採用的小波基返回兩個矩陣yc和ys。yh2...

怎樣用MATLAB畫出hsv模型

兄弟 最後怎麼畫出來的啊 求教一下謝謝。怎樣用matlab畫出hsv模型 matlab 的繪圖命令 你還可以在網頁多找一下,matlab論壇等都可以學習的 功能 畫一條或多條折線圖。其中y是數值向量或數值矩陣。我做畢業設計,影象智慧分類,我是使用matlab,rgb2hsv函式,請問怎麼提取hsv的...

怎樣用ps製作ico圖示檔案,怎樣用PS製作ico圖示檔案

接著進入ps安裝目錄 右擊 ps 快捷方式,從彈出的選單中選擇 屬性 項,在開啟的 屬性 視窗中就可以找到ps安裝目錄。進入ps安裝目錄中的 增強工具 檔案格式 資料夾下,將已解壓好的 icoformat 8bi 檔案拷貝到該目錄下。接下來開啟ps,新建一個ps文件,大小設定為 64 64 顏色位數...