2013-07-12 35 views
1

所以我有一個單元格包含幾個字符串,例如matlab - sprintf不打印在腳本中

cell = {'a1', 'b2', 'c3'}; 

for i = 1:3 
    sprintf('%s ', cell{i}); 
end 

我在等一些像a1 b2 c3這樣的東西,但沒有什麼東西。 有趣的是sprintf在命令窗口中工作(沒有分號)。

請讓我知道出了什麼問題。非常感謝。

回答

1

sprintf函數生成一個字符串。它不輸出它。您在命令窗口中看到它的原因可能是因爲您沒有編寫分號,因此結果會顯示給您。您可以使用fprintfdisp。看看他們在MatLab的幫助。

doc fprintf 
doc disp 
0

使用

fprintf(1, '%s ', cell{i}); 

s = sprintf('%s ', cell{i}); 
disp(s); 
0

我遇到了類似的問題就來了:使用變量賦值從sprintf的輸出代替

sprintf('%s ', cell{i}); 

當在你的情況下,環
s=sprintf('%s ', cell{i}); 

這裏s將持有單元格的值