matlab中的rowfun:为什么这不起作用?

时间:2015-11-26 09:00:05

标签: matlab

我非常清楚如何使用R但我是Matlab的新手

假设我有简单的矩阵

y =

 1     2
 3     4
 5     6

我想逐行计算矢量行的(欧几里德)范数。并将其返回列中 矢量。

>> norm(y(1,:))

ans =    2.2361

但是当我输入以下命令时,我得到一个错误......怎么回事?

>> rowfun(norm,y)
Error using norm
Not enough input arguments.

1 个答案:

答案 0 :(得分:1)

您正在寻找每一行的norm,您可以使用arrayfun而不是rowfun来执行此操作,rowfun更多地使用table结构。 1班轮是:

result = arrayfun(@(idx) norm(y(idx,:)), 1:size(y,1));

result =

2.2361    5.0000    7.8102