我目前正在使用Matlab函数进行实验。基本上我试图执行上以矩阵中发现的每个值的函数,如下面的简单示例:对每个矩阵值执行一个函数
k = [1:100];
p = [45 60 98 100; 46 65 98 20; 47 65 96 50];
p(find(p)) = getSum(k, find(p), find(p) + 1);
function x = getSum(k, f, g, h)
x = sum(k(f:g));
end
为什么对应的输出矩阵值是所有3个,在为什么所有索引取决于第一换句话说计算的总和?
的输出是下面的:
p =
3 3 3 3
3 3 3 3
3 3 3 3
您正在为你的'p'矩阵中的所有元素分配一个标量('getSum'函数的输出)的标量。 – 2014-11-03 19:59:17
你想计算什么?看起来,你有一个4x4的k(1:100)。你想总结什么? – chappjc 2014-11-03 20:16:18
这只是一个例子来说明为索引任意数组的主要目的而将参数传递给函数的问题。我的主要目标不是执行总和,而是要实际找到一种合适的方式,通过这种方式我可以根据函数参数对数组进行索引,然后应用相应的结果(每次索引后获得的结果(在此情况下为总和)到每个矩阵单元。 – Bran 2014-11-03 20:30:24