[英]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.