我在开始使用MATLAB软件时,我有两个问题:
1)如果我想打印矩阵,前面有一个字符串,使用fprintf命令,我该怎么办? 例如,要单独打印矩阵,我使用
fprintf([repmat('%d\t', 1, size(r, 2)) '\n'], r');
但是如何在fprintf中打印一个后跟矩阵的字符串,而不是使用disp函数? 例如,如果我想打印:
>>The matrix you inserted is [1 3; 4 6]
2)我怎样才能用向量做同样的事情(我知道它只是矩阵的一个特例)? 我实际上使用,例如:
>>vectorname=[1 5 2];
>>strtrim(sprintf('%d ', vectorname));
对于矢量的唯一数字它是可以的,但如果我在spintf中插入一个字符串,结果是:
>>vectorname=[1 5 2];
>>strtrim(sprintf('Your vector is: %d ', vectorname))
>>Your vector is 1 Your vector is 5 Your vector is 2
如果只用一个命令(sprintf,fprintf,ecc。),我怎样才能使数字成为另一个数字?
非常感谢您的帮助!
答案 0 :(得分:4)
在这两种情况下,您都可以使用mat2str
。
input_mat = [1 3; 4 6];
sprintf(['The matrix you inserted is ' mat2str(input_mat)])
ans =
The matrix you inserted is [1 3;4 6]
vectorname=[1 5 2];
sprintf(['Your vector is: ', mat2str(vectorname)])
ans =
Your vector is: [1 5 2]