我想編寫一個matlab代碼來計算兩個變量g(I,j)=I+j+1的函數的值,對于集合MV={(1,3)、(2,4)、(5,6)、(5,4)、(7,2)}中的每一對(I,j),使輸出結果基于以下算法為g={5,7,12,10,9}:
Step 0. MV_0 = empty set;
Step 1. h=1;
Step 2. while MV_h ~= empty set {
Step 3. for every (i,j) in MV {
Step 4. g(i,j)
Step 5. }
Step 6. h=h++
Step 7. }
到目前為止,我已經嘗試了以下方法,但我想不出來。請提供任何提示/幫助。提前謝謝!
MV = {}; % Step 0
h = 1; % Step 1
% MV= intersect(r(r==1),s(s==3))
while isempty(MV{h})==0 % MV{h} is nonempty from Step 2
MV = {[1,3], [2,4], [5,6], [5,4], [7,2]}
% Step 3, for every (i,j) in EMV{h}
for i=1:length(MV)
for j = 1:length(MV)
MV{h} = g(i,j); % Step 4
end
end
h = h+1; % Step 6
end
g % to get the final result g = {5, 7, 12, 10, 9}
% subfunction
function y = g(i,j)
y = i+j+1;
end
我想你需要以下幾點:
Output is: