matlab怎麼程式設計讀下面的數字啊?有的數字之間沒有空格,是

2022-01-13 18:33:25 字數 2911 閱讀 5580

1樓:匿名使用者

從題主貼出來的資料看,每列資料是固定寬度的,這種情況可以用fscanf來讀。

fscanf和sscanf的用法類似,為便於舉例,這裡用sscanf示例:

>> s='grid      207530        -465.623-112.230  -2.326';

>> d=sscanf(s,'%*24c%8f%8f%8f')d =-465.6230

-112.2300

-2.3260

matlab怎樣把讀取的資料間的多個空格變為一個

2樓:匿名使用者

a中應該是一系列的字元吧,如果不是字元,把它轉化為字元,這樣對a中的字元一個一個的查詢對比,如果不是空格,就保留,如果是空格,檢視下一個字元,如果下一個也是空格,則刪除該空格。

祝你學習愉快!

3樓:匿名使用者

可以針對於下標屬性進行操作,比如:

clc; clear all;

%開啟test.m

fidin = fopen('test.m', 'r');

%建立矩陣變數a,用於儲存資料

syms a

%從檔案讀行

tline = fgetl(fidin);

a = tline

tf = isspace(tline); % 空格判斷dtf = diff(tf); % 差分

dtf = [0 dtf]; % 對齊到向量ind = find(dtf~=0); % 找到空格起始位置tind = ~tf; % 取非零數值資訊tind(ind) = 1; % 設定標記tline = tline(tind); % 過濾資料a = tline

fidin = fclose(fidin);

matlab給資料之間新增空格

4樓:不知詳解

你把檔案一行一行處理就是了:

function y=getnum(line)y= [str2num(line(1:8)),str2num(line(9:16)),str2num(line(17:24))]

enddata=

fid=fopen("data.txt",'r')while(! feof(fid))

line=fgetl(fid)

data=[ data; getnum(line) ]endfclose(fid)

處理結束 data就是儲存所有資料的陣列

5樓:匿名使用者

直接用 dlmread函式

data=dlmread('d:/data.txt');

6樓:風一樣_男人

請問你這個問題解決了嗎大佬

如何實現matlab中讀取包含字元和數字的文字檔案中的資料

7樓:匿名使用者

從第三行開始讀,以空格為界定符,然後分別讀到四個字串中去,將第一個字串賦值給bianliang,後面的就可以給第一列了。

[str1 str2 str3 st4]=strread(str,'%s %d %d %d','delimiter',' ');

bianliang=str1;

編寫matlab程式來統計給定字串中字母,數字,空格的個數

8樓:高等數學答案

>> s='abc34abc 4 g';

>> x1=sum(isletter(s))x1 =

7>> x2=sum(isspace(s))x2 =

2>> x3=sum(isstrprop(s,'digit'))x3 =

3x1是字母數bai,du

zhix2是空

dao格數,x3是數字數版

,能明白吧權

為什麼matlab中的數字前面一定要空出來嗎?

9樓:

不加空格也沒關係。。那純粹是**風格的問題。有人習慣在「=」前後加空格,比如我:

a = 4;

用matlab讀取檔案之後,返回了txt格式的文字,但是所有英文單詞之間都沒有空格 全連一起了 求指導

10樓:一點點的小

fid = fopen('e:\sample.txt','rt');

s = fscanf(fid,'%c');

這樣寫,fscanf函式中『 』不要加\n.

另外使用%c,讀入字元也讀入white space(空格)。

%s忽視white space(空格)。

用matlab程式解決 輸入一行字元,分別統計出其中英文字母、空格、數字和其它字元的個數。

11樓:匿名使用者

clear

a=input('input str:','s');

an=length(a)

abcnum=0;

spcnum=0;

numnum=0;

othnum=0;

for i=1:n

if ((a(i)>='a')&&(a(i)<='z'))...

||((a(i)>='a')&&(a(i)<='z'))abcnum=abcnum+1;

elseif ((a(i)>='0')&&(a(i)<='9'))numnum=numnum+1;

elseif (a(i)==' ')

spcnum=spcnum+1;

else

othnum=othnum+1;

endend

abcnum

numnum

spcnum

othnum

matlab如何程式設計產生正態分佈的隨機數的程式

可以採用box muller的方法。box muller方法是以兩組獨立的隨機數u和v,這兩組數在 0,1 上均勻分佈,用u和v生成兩組獨立的標準常態分佈隨機變數x和y x sqrt 2 ln u cos 2 pi v y sqrt 2 ln u sin 2 pi v matlab 程式 funct...

matlab程式設計怎麼和simulink互動

1 simulink中新建 new model 按如下電路搭建模型。2 其中,電源模組和測量模組的引數設定如下。3 鎖相環引數設定如下圖所示。4 執行後,示波器波形如下圖所示,可看到精確的鎖相。注意事項 matlab的基本資料單位是矩陣,它的指令表示式與數學 工程中常用的形式十分相似,故用matla...

下面這個圖裡面的字怎麼讀,下面圖中的字怎麼讀

悾k ng 鄒z u 噯 i 蘋p ng 下面圖中的字怎麼讀?這是篆書體字,自上而下來讀 浣溪沙 秦觀 下面 中的字怎麼讀?上面的文字是小纂體,5個字是 都聽老婆的 這個意思 麈龘恝爨躎凷韷鍐襫顬靉 請問下面 裡的文字怎麼念?德齊壽載 孔廟大成殿懸掛著的 萬世師表 德齊壽載 聖集大成 及 聖協時中 ...