Filter löschen
Filter löschen

filereadで読​み込んだファイルを別​名で保存するコマンド​を知りたいです。

2 Ansichten (letzte 30 Tage)
YOKOI Sayoko
YOKOI Sayoko am 24 Apr. 2024
Kommentiert: Akira Agata am 25 Apr. 2024
テキストファイル(240313.rtm)を読み込んで、一部を編集し、別名で保存することをしたいです。
saveではうまくいかず、最適な方法があればお教えください。
>> a=fileread('240313.rtm') 
a =
'EEM-RTM
5 1
240313_3F_4-5GHz-nn
fffe9
====MATERIAL====
2 xxx 0.25 0.02 "ceil"
2 yyy 0.16 0.025 "wall"
2 zzzz 0.04 0.0265 "floor"
2 4 0 0.15 "concrete"
0
'
>> b=replace(a, 'xxx', '4.0')
b =
'EEM-RTM
5 1
240313_3F_4-5GHz-nn
fffe9
====MATERIAL====
2 4.0 0.25 0.02 "ceil"
2 yyy 0.16 0.025 "wall"
2 zzzz 0.04 0.0265 "floor"
2 4 0 0.15 "concrete"
0
'
save('240313-1.rtm', 'b')  %これでは保存できない

Akzeptierte Antwort

Atsushi Ueno
Atsushi Ueno am 24 Apr. 2024
fprintf 関数でASCIIファイルに文字列を書き込めます。
movefile 240313.txt 240313.rtm % 都合で拡張子rtmのファイルをupload出来ない⇒拡張子をrtmに変更
a = fileread('240313.rtm');
b = replace(a, 'xxx', '4.0');
fileID = fopen('240313-1.rtm','w');
fprintf(fileID,'%s\n',b); % これなら保存できる
fclose(fileID);
type 240313-1.rtm
EEM-RTM 5 1 240313_3F_4-5GHz-nn fffe9 ====MATERIAL==== 2 4.0 0.25 0.02 "ceil" 2 yyy 0.16 0.025 "wall" 2 zzzz 0.04 0.0265 "floor" 2 4 0 0.15 "concrete" 0
  2 Kommentare
YOKOI Sayoko
YOKOI Sayoko am 25 Apr. 2024
ありがとうございました。うまく実行することができました。
Akira Agata
Akira Agata am 25 Apr. 2024
+1
テキストファイルを読み書きするための関数である readlines / writelines を使っても実現可能です。
% ファイル読み込み
s1 = readlines("240313.rtm");
% xxx を 4.0 に置換
s2 = replace(s1, "xxx", "4.0");
% 別ファイル名で保存
writelines(s2, "240313-1.rtm");

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 環境と設定 finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!