close
標題:
Matlab 如何依某字串為檔名另存新檔?
大家好,若資料如下,該如何依其字串為檔名另存新檔?A0234 123 456 789A0234 453 136 975A0234 087 102 391A0234 098 694 952B3210 234 876 097B3210 547 621 746B3210 786 056 494B3210 638 326 527B3210 262 258 087R4421 976 234 523R4421 523 351 634R4421 467 783 451E5323 408 342 511E5323 147 962 873E5323 842 578... 顯示更多 大家好, 若資料如下,該如何依其字串為檔名另存新檔? A0234 123 456 789 A0234 453 136 975 A0234 087 102 391 A0234 098 694 952 B3210 234 876 097 B3210 547 621 746 B3210 786 056 494 B3210 638 326 527 B3210 262 258 087 R4421 976 234 523 R4421 523 351 634 R4421 467 783 451 E5323 408 342 511 E5323 147 962 873 E5323 842 578 451 ... ... ... 使Matlab抓前面第一個字串當檔名另存新檔,如A0234.txt、B3210.txt、R4421.txt、E5323.txt。小弟知道的只有一種簡單的方法,如 if find(x)==yyyy then save,但該方法並不方便,因為其字串相當多,是否有其他方法達成另存檔案的目的? 謝謝您。 更新: 更新資料內容如下: 0234 ACD 123 456 789 0234 BED 453 136 975 0234 CFE 087 102 391 0234 ACD 312 442 462 0234 BED 123 223 451 0234 CFE 123 311 643 0234 ACD 152 131 523 : 另存檔案名為0234.txt以及3210.txt。其資料排列為(以0234.txt為例): ACD BED CFE 123 453 087 456 136 102 789 975 391
最佳解答:
請問資料形式為何? char matrix嗎 2008-08-28 02:47:17 補充: 給你一些想法來繼續 我先製造兩組不同的檔名資料 再利用迴圈方式來找 但此迴圈假設同樣檔名的資料會排在一起 若不是 也可以用sort的方法來重組 clear A=['0234 ACD 123 456 789';'0234 BED 453 136 975';'0234 CFE 087 102 391';... '0234 ACD 312 442 462';'0234 BED 123 223 451';'0234 CFE 123 311 643';... '0234 ACD 152 131 523';'3210 ACD 123 456 789';'3210 ACB 123 456 789';... '3210 ACD 123 456 789';'3210 DCD 123 456 789';'3210 BCD 123 456 789';... '3210 FCD 123 456 789';] [m,n]=size(A) filename=[A(1,1:4)]; temp=[A(1,6:end)]; for k=2:m if strcmp(A(k,1:4),filename)==1 temp=[temp;A(k,6:end)]; else B=temp; eval(['save ' filename '.txt B -ascii']) filename=A(k,1:4); temp=[]; end end B=temp; eval(['save ' filename '.txt B -ascii']) 程式中未解決的是把B矩陣轉成你要的矩陣呈現法以及save的方式存成的是數字 要看真真的答案 需要用char把他轉回來 如你依上面程式執行 會有兩個檔產生0234.txt 3210.txt 你若載入其中的檔案 例如 load '0234.txt' 會產生一個變數稱為x0234 鍵入 >>char(X0234)得到 ans = ACD 123 456 789 BED 453 136 975 CFE 087 102 391 ACD 312 442 462 BED 123 223 451 CFE 123 311 643 ACD 152 131 523 後面讓你試試吧
其他解答:
Hi Chaso - 謝謝您的回答。資料形式是char matrix,因為資料某一欄位含有字串,但該資料排列整齊並使用空白隔開成數個欄位。原先的資料依欄位儲存成不同檔案,現在想學該如何將資料依第一欄位的測站編碼,儲存成以測站編碼為檔名的檔案。請您再次移駕補充內容區,蒞臨指導。BFC66BE0445C3814
Matlab 如何依某字串為檔名另存新檔?
- S4價錢多少呢
- SmartGet 無法下載
- ~~想從事殯葬業~~@1@
- htc explorer a310e 使用
- Cristian Guzman的現況
- CQ3020TL 升級請教!
- 28歲 沒工作 該選國民年金或職業公會-
- ICONIA Tab A500和I PAD2哪台比較優@1@
- -台灣運動彩券官網首頁,玩樂天下娛樂城有人在玩嗎-
- 093623@1@
- S4價錢多少呢
- SmartGet 無法下載
- ~~想從事殯葬業~~@1@
- htc explorer a310e 使用
- Cristian Guzman的現況
- CQ3020TL 升級請教!
- 28歲 沒工作 該選國民年金或職業公會-
- ICONIA Tab A500和I PAD2哪台比較優@1@
- -台灣運動彩券官網首頁,玩樂天下娛樂城有人在玩嗎-
- 093623@1@
此文章來自奇摩知識+如有不便請留言告知
發問:大家好,若資料如下,該如何依其字串為檔名另存新檔?A0234 123 456 789A0234 453 136 975A0234 087 102 391A0234 098 694 952B3210 234 876 097B3210 547 621 746B3210 786 056 494B3210 638 326 527B3210 262 258 087R4421 976 234 523R4421 523 351 634R4421 467 783 451E5323 408 342 511E5323 147 962 873E5323 842 578... 顯示更多 大家好, 若資料如下,該如何依其字串為檔名另存新檔? A0234 123 456 789 A0234 453 136 975 A0234 087 102 391 A0234 098 694 952 B3210 234 876 097 B3210 547 621 746 B3210 786 056 494 B3210 638 326 527 B3210 262 258 087 R4421 976 234 523 R4421 523 351 634 R4421 467 783 451 E5323 408 342 511 E5323 147 962 873 E5323 842 578 451 ... ... ... 使Matlab抓前面第一個字串當檔名另存新檔,如A0234.txt、B3210.txt、R4421.txt、E5323.txt。小弟知道的只有一種簡單的方法,如 if find(x)==yyyy then save,但該方法並不方便,因為其字串相當多,是否有其他方法達成另存檔案的目的? 謝謝您。 更新: 更新資料內容如下: 0234 ACD 123 456 789 0234 BED 453 136 975 0234 CFE 087 102 391 0234 ACD 312 442 462 0234 BED 123 223 451 0234 CFE 123 311 643 0234 ACD 152 131 523 : 另存檔案名為0234.txt以及3210.txt。其資料排列為(以0234.txt為例): ACD BED CFE 123 453 087 456 136 102 789 975 391
最佳解答:
請問資料形式為何? char matrix嗎 2008-08-28 02:47:17 補充: 給你一些想法來繼續 我先製造兩組不同的檔名資料 再利用迴圈方式來找 但此迴圈假設同樣檔名的資料會排在一起 若不是 也可以用sort的方法來重組 clear A=['0234 ACD 123 456 789';'0234 BED 453 136 975';'0234 CFE 087 102 391';... '0234 ACD 312 442 462';'0234 BED 123 223 451';'0234 CFE 123 311 643';... '0234 ACD 152 131 523';'3210 ACD 123 456 789';'3210 ACB 123 456 789';... '3210 ACD 123 456 789';'3210 DCD 123 456 789';'3210 BCD 123 456 789';... '3210 FCD 123 456 789';] [m,n]=size(A) filename=[A(1,1:4)]; temp=[A(1,6:end)]; for k=2:m if strcmp(A(k,1:4),filename)==1 temp=[temp;A(k,6:end)]; else B=temp; eval(['save ' filename '.txt B -ascii']) filename=A(k,1:4); temp=[]; end end B=temp; eval(['save ' filename '.txt B -ascii']) 程式中未解決的是把B矩陣轉成你要的矩陣呈現法以及save的方式存成的是數字 要看真真的答案 需要用char把他轉回來 如你依上面程式執行 會有兩個檔產生0234.txt 3210.txt 你若載入其中的檔案 例如 load '0234.txt' 會產生一個變數稱為x0234 鍵入 >>char(X0234)得到 ans = ACD 123 456 789 BED 453 136 975 CFE 087 102 391 ACD 312 442 462 BED 123 223 451 CFE 123 311 643 ACD 152 131 523 後面讓你試試吧
其他解答:
Hi Chaso - 謝謝您的回答。資料形式是char matrix,因為資料某一欄位含有字串,但該資料排列整齊並使用空白隔開成數個欄位。原先的資料依欄位儲存成不同檔案,現在想學該如何將資料依第一欄位的測站編碼,儲存成以測站編碼為檔名的檔案。請您再次移駕補充內容區,蒞臨指導。BFC66BE0445C3814
文章標籤
全站熱搜
留言列表