繁体   English   中英

如何在Matlab中将矩阵向量传递给函数参数

[英]How can I pass a matrix vector into a function argument in matlab

我有一个10 x 3的矩阵,并希望将10行中的每行用作一个函数,该函数使用1到10的迭代期望3个参数。问题是我无法将每个行向量直接传递给期望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,:));

end

Tour1是10 x 3矩阵,其行需要变为Kc,T1,T2。 谢谢。

转换为单元格数组:

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{:});
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM