Ich habe eine Matrix der Dimension A
m
-by- n
bestehend aus Nullen und Einsen, und eine Matrix der Dimension J
m
-Durch-1 berichtet einige ganze Zahlen von [1,...,n]
Ergänzung erfordert .Vektorisieren einen Code, der einige Elemente eines binären Arrays
Ich möchte, um eine Matrix der Dimension B
m
-by- n
derart auszubilden, daß für i = 1,...,m
B(i,j) = A(i,j)
fürj=1,...,n-1
B(i,n) = abs(A(i,n)-1)
- Wenn
sum(B(i,:))
ist ungerade dannB(i,J(i)) = abs(B(i,J(i))-1)
Dieser Code tut, was ich will:
m = 4;
n = 5;
A = [1 1 1 1 1; ...
0 0 1 0 0; ...
1 0 1 0 1; ...
0 1 0 0 1];
J = [1;2;1;4];
B = zeros(m,n);
for i = 1:m
B(i,n) = abs(A(i,n)-1);
for j = 1:n-1
B(i,j) = A(i,j);
end
if mod(sum(B(i,:)),2)~=0
B(i,J(i)) = abs(B(i,J(i))-1);
end
end
Können Sie effizientere Algorithmen vorschlagen, dass die Verwendung nicht die verschachtelte Schleife?
war nur die gleiche Antwort gehen zu posten ... – EBH
sah ich Ihren Beitrag und dann sah es gelöscht wurde. Du warst nur ein kleines bisschen spät – anyanwu
Nun, ich habe von meinem Handy aus geantwortet, also hat es etwas mehr Zeit zum Tippen gebraucht;) – EBH