Effacer les filtres
Effacer les filtres

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

8 vues (au cours des 30 derniers jours)
Harvey Rael
Harvey Rael le 3 Août 2018
Commenté : Harvey Rael le 3 Août 2018
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

Réponse acceptée

James Tursa
James Tursa le 3 Août 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 commentaire
Harvey Rael
Harvey Rael le 3 Août 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by