如何获取矩阵的元素并将每个元素用作相同函数的输入变量?

时间:2014-09-24 14:49:04

标签: matlab function elements

我已经给出了一个带有485x1元素的矩阵。 MatLab将采用它们中的前12个并使它们成为新的矩阵。

然后我有一个名为C的变量和一个函数f(C)。 MatLab将采用新矩阵的第一个元素并使其成为C。然后它将执行f(C)并将结果保存为result1。 然后它应该采用新矩阵的第二个元素并使其成为C。然后它将再次执行f(C)并将结果保存为result2,依此类推。 所以最后我需要12个结果变量。

我该如何编程?

1 个答案:

答案 0 :(得分:0)

这个问题要求非常基本的东西。就像解决矩阵的前12个元素一样。您可能需要考虑阅读一些常见问题解答。 但是,基本解决方案可能如下所示:

M = [1:485]'; %// a 485x1 matrix (vector)
newMatrix = M(1:12); %// newMatrix contains the first 12 elements of M (also vector)
result = cell(1,12); %// result as a cell
f = @(x) x+1; % a function f
for i = 1:12
    C = newMatrix(i); % get each value from newMatrix, call it C
    result{i} = f(C); % apply f() on c and store the result
end

生成变量result1result2,...,result12不是一个好主意,您可以阅读更多关于here的内容。最好使用单元格存储变量,然后可以将第i个结果作为result{i}进行处理。