大家或許覺得Matlab只適合在校園使用,所以,在學生時代就會勉勵自己要用未來可以找到工作的程式語言來寫,有關這一點,我並不反對。
但是,如果一個簡單的問題,要花掉好多時間去處理,連畢業都有困難,還擔心畢業以後的事情嗎?我建議先把資料處理的基本功夫學好,再談用C++開發大型的系統。
這一篇文章是延續 FORTRAN入門課程(1)解決最簡單的問題 同樣的內容,只是用Matlab來寫
fid1=fopen('data.xyz','r');
fid2=fopen('new_data.xyz','w');
while 1
tline = fgetl(fid1);
if ~ischar(tline), break, end
A=sscanf(tline,'%f, %f,%f');
x=A(1); y=A(2); z=A(3);
fprintf(fid2,'%f,%f,%f\r\n',x,y,-z);
end
fclose(fid1);
fclose(fid2);
這個程式使用下列幾個Matlab基本的觀念
- 檔案開啟(fopen)與關閉(fclose)
- 檔案讀取(fgetl)與寫入(fprintf)
- 字串處理(sscanf)
- 迴圈(while loop)
- 決策(if)
再用sscanf函數,將x,y,z三個變數讀入A矩陣中,在輸出的時候,才改變z的符號
沒有留言:
張貼留言