2013-11-20 57 views
0

目前我想在Matlab上創建函數創建該文件的文本文件,寫矢量

Function[output]=store(filename,vector) 

它應該創建一個名稱(文件名)文本文件,並寫入載體(I)在文本文件中將第i行。

但是,如何從一個函數內創建一個文本文件?

+0

你嘗試過'fopen'和'fwrite'嗎? – chappjc

+0

使用帶'fopen'的選項'a'來創建文件。用'help fopen'查看其他選項 –

回答

1

一個簡單的解決方案,沒有給出輸出:

function store(filename,vector) 

vector = vector(:); % make column vector 
save(filename,'-ascii','vector'); 

如果你需要一個成功/失敗的輸出,你可以包裝save聲明中try - catch塊:

function output = store(filename,vector) 

vector = vector(:); % make column vector 
try 
    output = 1; % successful 
    save(filename,'-ascii','vector'); 
catch 
    output = 0; % unsuccesfull 
end 
1

最簡單方式:

dlmwrite(filename, vector(:)) 

(:)運算符重塑矢量以確保它是列矢量,而不是行矢量。它可能也可能不是必需的(同樣,如果你傳遞一個矩陣,它會導致問題,因爲它會被重新組合成一個向量)。