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
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 件のコメント
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 Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!