Effacer les filtres
Effacer les filtres

For loop iteration on each element of a matrix

3 vues (au cours des 30 derniers jours)
Syed AWM
Syed AWM le 20 Août 2020
Modifié(e) : Bruno Luong le 21 Août 2020
I have a n-dimension matrix as the variables of an equation. I want to iterate the equation solution on each element of the variable matrix. I know about using (for 1:numel(matrix)) but I want to store the solutions of the equation on the (ith,jth) element locations in a matrix.
Thanks
  4 commentaires
Syed AWM
Syed AWM le 21 Août 2020
I have got the code like :
x1 = [1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16];
x2 = [4 3 2 1;5 7 6 8;9 12 11 11;16 13 15 14];
for i=1:numel(x1)
f1(i)=4*x1(i)^2-x2(i)^3+28;
f2(i)=3*x1(i)^3+4*x2(i)^2-145;
end
this would give me vector [f1] and [f2] with 16 elements. While I want 4x4 matrices as solutions.
Bruno Luong
Bruno Luong le 21 Août 2020
Modifié(e) : Bruno Luong le 21 Août 2020
Other alternative, remove completely the for-loop
x1 = [1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16];
x2 = [4 3 2 1;5 7 6 8;9 12 11 11;16 13 15 14];
f1 = 4*x1.^2-x2.^3+28;
f2 = 3*x1.^3+4*x2.^2-145;

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 21 Août 2020
Preallocate the output as the appropriate size. Then use linear indexing.
f1 = zeros(size(x1)) ;

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by