In: Electrical Engineering
Convert the following pieces of code in just a single line of code. In all cases, A and B are arrays of size 5 x 5. Important: The expression "single line of code" implies a single command or equality. In other words, the code: X=A+1; X=X+B; is considered to be TWO lines.
(a) (4%) for i=1:5,
for j=1:5
A(i,j)=B(i,j)+1;
end
end
_________________________________
(b) (4%) for i=1:3
for j=2:4
A(i,j)=B(i,j);
end
end
_________________________
(c) (5%) for i=1:3
for j=2:4
A(i,j)=B(i+2,j+1);
end
end
_________________________________
(d) (4%) for i=1:5
for j=1:5
A(i,j)=1/(B(i,j))^2;
end
end
_________________________________
(e) (5%) for i=1:5
for j=1:5
A(i,j)=B(6-i,j);
end
end
_________________________________
Consider B
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
for i=1:5
for j=1:5
A(i,j)=B(i,j)+1;
end
end
Above code can be replaced by single line using
A = B+1; %each element of A is populated from corresponding element of B by adding 1
>> A A = 18 25 2 9 16 24 6 8 15 17 5 7 14 21 23 11 13 20 22 4 12 19 26 3 10 >> B B = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 >> B+1 ans = 18 25 2 9 16 24 6 8 15 17 5 7 14 21 23 11 13 20 22 4 12 19 26 3 10
for i=1:3
for j=2:4
A(i,j)=B(i,j);
end
end
Can be replaced by
A(1:3,2:4) = B(1:3,2:4)
for i=1:3
for j=2:4
A(i,j)=B(i+2,j+1);
end
end
can be replaced by A(1:3,2:4)=B(3:5,3:5);
part d
for i=1:5
for j=1:5
A(i,j)=1/(B(i,j))^2;
end
end
Can be replaced by A = 1./(B.^2)
for i=1:5
for j=1:5
A(i,j)=B(6-i,j);
end
end
can be replaced by
A(1:5,1:5) = B(5:1,5:1);