如何在Matlab中矩阵的每对行上应用函数?

时间:2018-07-29 10:00:34

标签: matlab function matrix

我是Matlab的新手,正在研究矩阵,我有点困惑。

我应该制作一个m的{​​{1}} x n矩阵,它的元素是M-11

我需要编写一个名为0的函数,如果d(x,y)1返回x = -1。否则返回y = 1

和另一个计算每列中d(m(i,j),m(k,j))的和的函数:

func

请阅读注释作为示例。

如何找到总和?

我知道基本编程,但是我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

您可以使用nchoosek进行选择:

comb = nchoosek(1:size(m,1), 2);
result = zeros(1, length(comb)); % allocate the memory
% you can run some techniques to run a function on each row of comb
% which is mentinoned in other posts instead of the following code
for i = 1:length(comb)
    result(i) = sum(abs(m(comb(i,1), :) - m(comb(i,2), :)) == 2);
end