MATLAB:如何使用fprintf或sprintf通过字符串togheter打印矩阵和向量?

MATLAB:how can I use fprintf or sprintf to print matrix and vectors with strings togheter?

我刚开始使用MATLAB软件,我有两个问题:

1)如果要使用fprintf命令打印以字符串开头的矩阵,该怎么办?
例如,要单独打印矩阵,请使用

1
2
fprintf([repmat('%d\\t', 1, size(r, 2)) '\
'], r');

但是,如何在没有usind disp函数的情况下在fprintf中打印字符串,后跟矩阵,所有togheter呢?
例如,如果我要打印:

1
>>The matrix you inserted is [1 3; 4 6]

2)如何使用向量做同样的事情(我知道这只是矩阵的一种特殊情况)?
我实际上使用了例如:

1
2
>>vectorname=[1 5 2];
>>strtrim(sprintf('%d  ', vectorname));

对于向量的唯一数字也可以,但是如果我在spintf中插入一个字符串,结果是:

1
2
3
4
 >>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。)将数字彼此结合??

非常感谢您的帮助!


在两种情况下,您都可以使用mat2str

第一种情况:

1
2
input_mat = [1 3; 4 6];
sprintf(['The matrix you inserted is ' mat2str(input_mat)])

1
2
3
ans =

The matrix you inserted is [1 3;4 6]

第二种情况:

1
2
vectorname=[1 5 2];
sprintf(['Your vector is: ', mat2str(vectorname)])

1
2
3
ans =

Your vector is: [1 5 2]