How to fill a 3D Array using a for loop

2 views (last 30 days)
Hi, I've been having a problem filling a matrix. I need to fill it using a "for" loop, but the equations for each element is different. I hope the example can explain better what I pretend to achieve. Hope someone can help. Thanks.
for i=1:5
k(i,1,1)=2*x(i);
k(i,1,2)=9*y(i);
k(i,2,1)=-2*x(i);
k(i,2,2)=-2*y(i);
end

Accepted Answer

KSSV
KSSV on 18 Nov 2016
x = rand(5,1) ;
y = rand(5,1) ;
k = zeros(2,2,2) ;
for i=1:5
k(i,1,1)=2*x(i);
k(i,1,2)=9*y(i);
k(i,2,1)=-2*x(i);
k(i,2,2)=-2*y(i);
end
What problem you face? Code is fine.
  1 Comment
Pedro Pires
Pedro Pires on 18 Nov 2016
The weird thing is that without changing the code, it's now working fine. I can't remember exactly what the error was but I wasn't being able to give a value to the array members. Maybe some values or equations were preventing the script from working correctly. I sincerely can't see anything that I changed that could possibly make/solve the problem, but I'm also a beginners with Matlab. Thank you for the reply and help.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!