带矢量输出的Matlab函数返回整矢量
也许这很基本,但我找不到答案 我有一个输出向量的函数。例如,如果你这样做带矢量输出的Matlab函数返回整矢量,matlab,vector,Matlab,Vector,也许这很基本,但我找不到答案 我有一个输出向量的函数。例如,如果你这样做 [c1 c2 c3] = quat2angle(a) quat2angle(a) 但如果你这样做了 [c1 c2 c3] = quat2angle(a) quat2angle(a) 然后它只输出c1。我想做[1 2 3]'-quat2angle(a),但它只减去c1 有没有办法得到一个向量?如果该函数是您自己的,或者您可以修改它,您可以使用和执行以下操作: 如果函数是您自己的或您可以修改它,您可以使用和执行
[c1 c2 c3] = quat2angle(a)
quat2angle(a)
但如果你这样做了
[c1 c2 c3] = quat2angle(a)
quat2angle(a)
然后它只输出c1
。我想做[1 2 3]'-quat2angle(a)
,但它只减去c1
有没有办法得到一个向量?如果该函数是您自己的,或者您可以修改它,您可以使用和执行以下操作:
如果函数是您自己的或您可以修改它,您可以使用和执行以下操作:
您可以像这样定义一个包装函数,并使用它来代替原始函数
function c = quat2angle_w(a)
[c1 c2 c3] = quat2angle(a);
c = [c1 c2 c3];
end
您可以像这样定义一个包装函数,并使用它来代替原始函数
function c = quat2angle_w(a)
[c1 c2 c3] = quat2angle(a);
c = [c1 c2 c3];
end
我不确定是否有明确指定
nargout
的方法。但是,您可以分配给[c1 c2 c3]
,然后从[1 2 3]'中减去它。
?这是标准的函数行为。注意,在第一种情况下,它不返回向量,而是将输出分配给3个单独的变量。当使用左上角的方括号[]
时,这总是正确的。你把期望放错地方了。至少有两种方法。我不确定是否有明确指定nargout
的方法。但是,您可以分配给[c1 c2 c3]
,然后从[1 2 3]'中减去它。
?这是标准的函数行为。注意,在第一种情况下,它不返回向量,而是将输出分配给3个单独的变量。当使用左上角的方括号[]
时,这总是正确的。你把期望放错地方了。至少有两种方法。它是一个内置函数,因此不容易修改。不过还是要谢谢你!它是一个内置函数,因此不容易修改。不过还是要谢谢你!