I have a homework assignment where I need to solve something much larger than I am asking, but I am having trouble with how I want to start it off. I need to use the vectors of an Identity Matrix to solve for a matrix A.
I want to create these vectors [1; 0; 0; 0], [0; 1; 0; 0], ... as 1 moves down the vector in each one produced. I tried using a FOR loop for this and it did not work. I tried using:
I = zeros(4,1);
for k = 1:4
I(k,1) = 1;
end
Now, when I do this, it creates [1; 0; 0; 0], [1; 1; 0; 0], ... [1; 1; 1; 1] and I end up with an all 1 4x1 vector. I don't know how to make this work, and I cannot move on to the rest of the assignment without this part.

댓글 수: 3

David Fletcher
David Fletcher 2018년 3월 4일
편집: David Fletcher 2018년 3월 4일
Could try
eye(4)
JENIZA CHALA
JENIZA CHALA 2018년 3월 4일
I had originally used that and just separated the matrix, but she wants a for loop creating the separate vectors of the identity matrix.
I = zeros(4,4);
for k = 1:4
I(k,k) = 1;
end

댓글을 달려면 로그인하십시오.

 채택된 답변

David Fletcher
David Fletcher 2018년 3월 4일

0 개 추천

Or if you really wanted to make them all totally separate...
A = zeros(1,4);
B = zeros(1,4);
C = zeros(1,4);
D = zeros(1,4);
for k = 1:4
switch k
case 1
A(1,1) = 1
case 2
B(1,2) = 1
case 3
C(1,3) = 1
case 4
D(1,4) = 1
end
end

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2018년 3월 4일

답변:

2018년 3월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by