I need help creating a function for taking an array and reversing it and i have to use a for loop. I have looked online but i really dont know what i am doing?

조회 수: 3 (최근 30일)
function result = reverse_array(array)
result = array;
for(index = zero(1,length(array)))
index = reverse_array(index) = array(length(array)-index+1);
end
end

답변 (1개)

Evan
Evan 2015년 2월 12일
편집: Evan 2015년 2월 12일
There are built-in functions for this, such as fliplr and rot90.
However, if you want to use a loop, think about the process you want to do, step-by-step. You want to create a new array that is a flipped version of an array you send into the function. So you want to access each element of the array in reverse, from end to beginning, and assign it to your new array, from beginning to end.
function y = flip_array(x)
n = ?
x_indices = ?
for y_index = 1 : n
x_index = x_indices(y_index);
y(y_index) = x(x_index);
end
end
You just need to find a a value n that tells you how long your new array is going to be, then an array of x indices that gives you want you want. Think about how the colon ( : ) operator can be used, and remember that you can use it to create arrays that count up or down.
  댓글 수: 3
nick sorge
nick sorge 2015년 2월 12일
so for n would i just put in the random walk function that i already created or how would i do that if the random walk array can change size?
Evan
Evan 2015년 2월 13일
n tells you how many iterations the loop goes through. You need to pass over each element in your array, however long it is. So n isn't the array itself, but information about that array. You need some function (a builtin matlab function) that will get you this information.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by