Changing elements of an array by row and column using for loop?

3 次查看(过去 30 天)
Hi all,
So essentially I am trying to correct some acos mistakes in an 180x40 array. I want to run through each element of the array first by rows then by columns, but I am having trouble with error messages. I keep getting "Index in position 2 exceeds array bounds (must not exceed 1)."
My array of angles look like this.
psi_deg = 180x40;
alpha = diff(psi_deg)
for i = 1:length(alpha)
for j = 1:size(alpha)
if alpha(i,j)<0
transform_angle(i,j) = 360 - psi_deg %If the angle should be greater than 180 but it is displayed as less, display the greater version
else transform_angle(i,j) = psi_deg(i,j)
end
end
end
Any thoughts why I continually get this error? Best, Harvey

采纳的回答

James Tursa
James Tursa 2018-8-3
You should probably be using size(alpha,1) and size(alpha,2) instead of length(alpha) and size(alpha) in your looping. And you need to index psi_deg. That being said, it is hard to advise if what you are doing makes sense without knowing your goal.
  1 个评论
Harvey Rael
Harvey Rael 2018-8-3
I'll try this.
As to the goal, my goal is to create an array of angle measurements and correct for the issue where acos has returned a value less than 180 where I know it should be more.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by