我非常清楚如何使用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.
答案 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