Swap the first and last columns
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
function B = swap_ends(A)
B = A(:,[end , 2:end-1 , 1]);
end
tried this , but showing error , can any one help ?
0 Kommentare
Antworten (4)
Alessandro Galo
am 26 Mär. 2019
This works ;)
if size(A,2) ~= 1 & size(A,2) ~= 0
B = A(:,[end , 2:end-1 , 1])
else
B = A;
end
0 Kommentare
madhan ravi
am 16 Dez. 2018
Bearbeitet: madhan ravi
am 16 Dez. 2018
A=rand(4) % example matrix
B = swap_ends(A) % function call
function B = swap_ends(A) % function definition
A(:,[1 end])=A(:,[end 1]);
B=A;
end
Gives:
A =
0.5200 0.8475 0.4965 0.0832
0.7875 0.0289 0.0663 0.1867
0.2765 0.5650 0.1179 0.9095
0.0962 0.7098 0.3063 0.6303
B =
0.0832 0.8475 0.4965 0.5200
0.1867 0.0289 0.0663 0.7875
0.9095 0.5650 0.1179 0.2765
0.6303 0.7098 0.3063 0.0962
A=rand(1,5) % example row vector/column vector
B = swap_ends(A) % function call
function B = swap_ends(A) % function definition
A([1 end])=A([end 1]);
B=A;
end
Gives:
A =
0.6604 0.9767 0.4717 0.8576 0.9269
B =
0.9269 0.9767 0.4717 0.8576 0.6604
1 Kommentar
Walter Roberson
am 26 Mär. 2019
Bearbeitet: Walter Roberson
am 26 Mär. 2019
Alessandro Galo's solution does raise the good point that swapping using end subscript will fail if the array is empty on that dimension, so the swap should be protected with isempty()
Sunil Kumar Giri
am 13 Jan. 2020
function B = swap_ends(A)
B = A;
A(:,1) = A(:,end);
A(:,end) = B(:,1);
B = A
end
0 Kommentare
ARVIND KUMAR SINGH
am 25 Mai 2020
function B = swap_ends(A)
[~,col] = size(A);
if col<2
B = A;
else
a = A(:,1);
b = A(:,col);
c = A(:,2:col-1);
B =[b c a];
end
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu Annotations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!