在Matlab上应用公式

时间:2014-06-26 23:51:31

标签: matlab matrix formula cell-array

我有这个公式:100-[(x-1)/(y-1)]*100,我想在MATLAB中将其应用于F的单元格类型变量A rows * 14 columns,其中x = F(:,14)和{{ 1}}。

我一直试图通过不同的尝试到达那里,这是我尝试过的一个例子:

y = size(F,1)

但它不起作用。有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

假设我理解正确,首先让我以你描述的方式展示如何做到这一点:

% a random cell array of 10 rows x 5 columns
% each cell contains one number
F = num2cell(rand(10,5));

% compute formula on 1st column. Result is a numeric vector
out = 100 - ((cell2mat(F(:,1))-1) ./ size(F,1))*100;

% put result back into cell array (by converting into expected format)
F(:,5) = num2cell(out);

既然F是一个单元格数组,只是在每个单元格中都包含一个标量数字,为什么不直接使用一个标记数字矩阵呢?这样你就可以避免来回调用cell2matnum2cell ......