Creating 3x201 matrix from set of numbers
    4 次查看(过去 30 天)
  
       显示 更早的评论
    
Hi all,
I apologize in advance but I'm a newbie and don't have much experience with matlab - anyway here's what I'm trying to do.
I want to build a 201x3 matrix where every row has the same numbers, and the numbers in the columns go from 0 to 20e-10 with steps of 0.1e-10.
The matrix should look something like this:
[0 0 0
0.1 0.1 0.1
...
20 20 20]
I tried doing this by nesting three "for" loops in the following way:
for i = 0:0.1e-10:20e-10
    for j = 0:0.1e-10:20e-10
        for k = 0:0.1e-10:20e-10
        I = [i,j,k];
        end
    end
end
but instead of obtaining 201x1 vectors, i, j and k are just numbers (20e-10, to be precise).
I tried looking into other commands but I've been asked to do this specifically with nested for loops.
Sorry in advance if it's a silly question - and thanks to whoever takes the time to help!
0 个评论
采纳的回答
  KLR
      
 2020-7-7
        Matt's answer is the most efficient. However since you mentioned you needed to do it specifically with for loops here's the code that will do it in a  nested loop.. One thing I noticed in your loop was that your variable I was being overwritten by the latest value of i,j,k hence all you were seeing was the last value of i,j,k. 
Matrix=zeros(201,3); 
for i=1:1:200
    for j=1:1:200
    for k=1:1:200
    I=i/10;
    Matrix(i+1,:)=I;
end
end
end
更多回答(1 个)
另请参阅
类别
				在 Help Center 和 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!


