為什麼這篇MATLAB 字串 矩陣鄉民發文收入到精華區:因為在MATLAB 字串 矩陣這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者glorin (隨風出發.找到新的方向)看板MATLAB標題[問題] 讀取檔案每行字串到陣列中時...
不好意思, 又來請教各位前輩了(已事先瘋狂爬文過了)
想請問的第一個問題是當我讀取一個檔案中的字串時
例如檔案內容為:
A
B
C
已使用以下程式碼去讀取每行字串
fid = fopen('doc.txt');
while 1
tline = fgetl(fid);
if ~ischar(tline), break, end
disp(tline);
end
但不曉得該如何將它存成一個一維陣列呢?也就是變成:
| A |
| B |
| C |
而第二個問題是如果上頭所述的一維字串陣列,該如何與數字陣列合併呢?
也就是變成| A 1 2 3 |
| B 4 5 6 |
| C 7 8 9 |
麻煩各位了, 謝謝 ^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.189.32
> -------------------------------------------------------------------------- <
作者: Gwaewluin (神無月 孝臣) 看板: MATLAB
標題: Re: [問題] 讀取檔案每行字串到陣列中
時間: Mon Mar 10 09:02:33 2008
※ 引述《glorin (隨風出發.找到新的方向)》之銘言:
: 不好意思, 又來請教各位前輩了(已事先瘋狂爬文過了)
: 想請問的第一個問題是當我讀取一個檔案中的字串時
: 例如檔案內容為:
: A
: B
: C
: 已使用以下程式碼去讀取每行字串
: fid = fopen('doc.txt');
: while 1
: tline = fgetl(fid);
: if ~ischar(tline), break, end
: disp(tline);
: end
: 但不曉得該如何將它存成一個一維陣列呢?也就是變成:
: | A |
: | B |
: | C |
str = [] ;
fid = fopen('doc.txt');
while 1
tline = fgetl(fid);
str = [ str ; tline ] ;
if ~ischar(tline), break, end
disp(tline);
end
這樣做有個限定就是你的哪堆字串必須長度都完全一樣
: 而第二個問題是如果上頭所述的一維字串陣列,該如何與數字陣列合併呢?
: 也就是變成| A 1 2 3 |
: | B 4 5 6 |
: | C 7 8 9 |
: 麻煩各位了, 謝謝 ^^
假設數字矩陣叫A
[ str num2str( A , '%d' ) ]
這是沒空白的
有空白會比較麻煩一點,不過你也沒有把你需要的格式與input格式說清楚
--
Deserves death! I daresay he does. Many that live deserve death. And some die
that deserve life. Can you give that to them? Then be not too eager to deal out
death in the name of justice, fearing for your own safty. Even the wise cannot
see all ends.
Gandalf to Frodo
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.25.235
> -------------------------------------------------------------------------- <
作者: glorin (隨風出發.找到新的方向) 看板: MATLAB
標題: Re: [問題] 讀取檔案每行字串到陣列中
時間: Mon Mar 10 13:03:26 2008
※ 引述《Gwaewluin (神無月 孝臣)》之銘言:
: ※ 引述《glorin (隨風出發.找到新的方向)》之銘言:
: : 不好意思, 又來請教各位前輩了(已事先瘋狂爬文過了)
: : 想請問的第一個問題是當我讀取一個檔案中的字串時
: : 例如檔案內容為:
: : A
: : B
: : C
: : 已使用以下程式碼去讀取每行字串
: : fid = fopen('doc.txt');
: : while 1
: : tline = fgetl(fid);
: : if ~ischar(tline), break, end
: : disp(tline);
: : end
: : 但不曉得該如何將它存成一個一維陣列呢?也就是變成:
: : | A |
: : | B |
: : | C |
: str = [] ;
: fid = fopen('doc.txt');
: while 1
: tline = fgetl(fid);
: str = [ str ; tline ] ;
: if ~ischar(tline), break, end
: disp(tline);
: end
: 這樣做有個限定就是你的哪堆字串必須長度都完全一樣
先感謝Gwaewluin與authurs21前輩的回答
關於此問題如果字串長度沒有完全一樣的話,該怎麼做呢??
: : 而第二個問題是如果上頭所述的一維字串陣列,該如何與數字陣列合併呢?
: : 也就是變成| A 1 2 3 |
: : | B 4 5 6 |
: : | C 7 8 9 |
: : 麻煩各位了, 謝謝 ^^
: 假設數字矩陣叫A
: [ str num2str( A , '%d' ) ]
: 這是沒空白的
: 有空白會比較麻煩一點,不過你也沒有把你需要的格式與input格式說清楚
不好意思,沒將問題說的很明白
| A |
此問題是當我們從檔案中讀取一行行的字串將其變成陣列| B |
| C |
而程式中則還有一個數字矩陣A為| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
希望寫入到檔案的格式可以變成:
A 1 2 3
B 4 5 6
C 7 8 9
希望有空白或使用\t將其隔開
不知道是否有將格式說明清楚,請各位前輩多多包涵
謝謝 ^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.189.32