我有一个10x3矩阵,我想用这10行中的每一行作为参数,使用从1到10的迭代,把每个行向量作为函数的参数。问题是,我不能将每个行向量直接传递到需要3个参数的函数中。如何将矩阵行转换为我的函数可以接受的格式?
以下是功能:
XXX = obj(Kc, T1, T2);呼叫代码:
for i = 1:100
pop(i,1) = 50 - rand*(50-1);
pop(i,2) = 1 - rand*(1-0.1);
pop(i,3) = 0.2 - rand*(0.2-0.01);
Kc(i) = pop(i,1);
T1(i) = pop(i,2);
T2(i) = pop(i,3);
end
for j = 1:10
kk = randperm(100);
Tour1 = pop(kk(1:10),:);
ZET(j) = obj(Tour1(j,:));
endTour1是10x3矩阵,其行需要变成Kc、T1、T2。谢谢。
发布于 2013-10-04 19:14:20
转换为单元格数组:
for j = 1:10
kk = randperm(100);
Tour1 = pop(kk(1:10),:);
temp = mat2cell(Tour1(j,:),1,ones(1,numel(Tour1(j,:))))
ZET(j) = obj(temp{:});
endhttps://stackoverflow.com/questions/19188884
复制相似问题