Create a vector that only the first element and the last element is 0

8 vues (au cours des 30 derniers jours)
Ming Ki Lee
Ming Ki Lee le 25 Jan 2017
Modifié(e) : per isakson le 25 Jan 2017
B=zeros(mx,1);
for z=1:mx
if B(z,1) == B(1,1)
B(z,1) = 0;
elseif B(z,1) == B(mx,1)
B(z,1) = 0;
else
B(z,1) = 1;
end
end
I want to create a vector B that only (1,1) and (mx,1) equal to 0 but from (2 to mx,1) equal to 1. But my code still only show a zero matrix. How can I fix that?

Réponses (1)

KSSV
KSSV le 25 Jan 2017
Modifié(e) : KSSV le 25 Jan 2017
N = 10 ; % length of the vector
iwant = ones(N,1) ;
iwant(1) = 0 ;
iwant(N) = 0 ;
  2 commentaires
Walter Roberson
Walter Roberson le 25 Jan 2017
Or more compactly,
iwant = [0; ones(N-2,1); 0];
Jan
Jan le 25 Jan 2017
Modifié(e) : Jan le 25 Jan 2017
Or with the loop:
B = zeros(mx,1);
for z = 2:mx-1
B(z) = 1;
end
This is not efficient and I would not use it in real programs, but it shows how your loop can be modified.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by