필터 지우기
필터 지우기

How to sdcsd ?

조회 수: 3 (최근 30일)
H
H 2019년 10월 3일
편집: H 2019년 11월 27일
c
  댓글 수: 2
Shubham Gupta
Shubham Gupta 2019년 10월 3일
Not entirely sure, but is this what you want ?
V = [0,0,0,0]';
i = 2; % change i to assign 1 to the corresponding index
V(i) = 1; % generated V = [0; 2; 0; 0]
You said you 1 vector but your shows 4 different vectors with different name, what output do you want exactly?
H
H 2019년 10월 3일
Sorry for the confusion. Actually I want to have N number of vectors. And I gave examples of first 4 of those.
v = zeros(N,1);
for i = 1:N
v(i) = 1
end
When I do the above, I get all ones in one vector. But I want to generate N number of vectors, depending on the i value, the value "1" would take place on that specific cell, other cells would remain zero.

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

답변 (2개)

John D'Errico
John D'Errico 2019년 10월 3일
Don't. Instead, use arrays to store them.
n = 4;
V = eye(n);
V
V =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
As you can see, the rows of V are exactly as you wish. You can access the i'th such vector using indexing.
V(2,:)
ans =
0 1 0 0

Steven Lord
Steven Lord 2019년 10월 3일
Rather than making a large number of variables (which will clutter your workspace and be difficult to work with) instead I recommend making one variable and accessing parts of it as needed.
V = eye(4);
for k = 1:size(V, 2)
x = V(:, k) % Equivalent of Vk
% Work with x
end
Actually, if you want to iterate over the columns of V, for has an interesting property if you specify the range over which to iterate as a matrix.
V = eye(4);
for vec = V
disp(vec)
end
vec will take on each of the columns of V in turn.

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by