For loop iteration on each element of a matrix

6 views (last 30 days)
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 Comments
Syed AWM
Syed AWM on 21 Aug 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 on 21 Aug 2020
Edited: Bruno Luong on 21 Aug 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;

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 21 Aug 2020
Preallocate the output as the appropriate size. Then use linear indexing.
f1 = zeros(size(x1)) ;

More Answers (0)

Community Treasure Hunt

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

Start Hunting!