How to fill a 3D Array using a for loop

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

 采纳的回答

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 个评论

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.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by