MATLAB Answers

How would one reverse the order of an array using a while loop?

17 ビュー (過去 30 日間)
Justin Keach
Justin Keach 2016 年 10 月 30 日
コメント済み: Walter Roberson 2016 年 10 月 31 日
For this homework question I am asked to write a program using the while loop that will display a given row or column vector in reverse.

  0 件のコメント

Sign in to comment.

採用された回答

Asad (Mehrzad)  Khoddam
Asad (Mehrzad) Khoddam 2016 年 10 月 30 日
if v is the vector:
n=length(v);
while n>0
disp(v(n));
n=n-1;
end

  2 件のコメント

Justin Keach
Justin Keach 2016 年 10 月 30 日
Thank you! That works, but now I need to convert each output back into a vector so that if v=[1 2 3 4] my answer will return as v1= [4 3 2 1]. My current attempts have only returned my row vector as the final element/final output of the loop.
Justin Keach
Justin Keach 2016 年 10 月 30 日
v=Array2;
k=length(v);
while k>0;
disp(v(k));
k=k-1;
end
disp(['The original array was: ' mat2str(v)]);

Sign in to comment.

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2016 年 10 月 30 日
Supposed the length of your vector is L. Then you want to copy position j to position L-j+1 in the new vector. For example, length 6, position 1 gets written to position 6-1+1 = 6; position 2 gets written to position 6-2+1 = 5, position 3 to position 6-3+1 = 4, and so on.

  2 件のコメント

Justin Keach
Justin Keach 2016 年 10 月 31 日
How would you implement this into a while loop? I understand what you mean, but I'm not sure how to write it in a program.
Walter Roberson
Walter Roberson 2016 年 10 月 31 日
In your code above,
k=length(v);
and then
L = k;
and then entry k of input corresponds to entry L-k+1 of output.

Sign in to comment.


Translated by