Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带矢量输出的Matlab函数返回整矢量_Matlab_Vector - Fatal编程技术网

带矢量输出的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个单独的变量。当使用左上角的方括号
[]
时,这总是正确的。你把期望放错地方了。至少有两种方法。它是一个内置函数,因此不容易修改。不过还是要谢谢你!它是一个内置函数,因此不容易修改。不过还是要谢谢你!