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

3 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.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by