Azzera filtri
Azzera filtri

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

3 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

James Tursa
James Tursa il 3 Ago 2018
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 Commento
Harvey Rael
Harvey Rael il 3 Ago 2018
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.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by