Probleme Matlab Fonction Porte - Aide aux devoirs - Emploi & Etudes
Marsh Posté le 04-10-2006 à 10:12:54
et cmt tu fais pr creer cette fameuse variable vide sous matlab ?
merci d'avance
Marsh Posté le 04-10-2006 à 20:42:32
hmm je viens de tester et ca marche pas
quand je declare y=[]
et qu'ensuite j'affecte une valeur à y(ex.: y=5)
et bien y n'est pas un vecteur...
que faire ?
malheuresement pas de fonction fifo ds matlab
merci d'avance
Marsh Posté le 04-10-2006 à 21:27:58
Y=zeros(N,1) : initialise Y de taille N avec que des zeros
=ones(N,1) : avec que des 1
Y=[]
Y=[Y 1]; % Y vaut [1]
Y=[Y 2]; % Y vaut [1 2]
etc
Marsh Posté le 04-10-2006 à 21:54:48
j'oubliais un exemple utile dans ton cas
y=rand(100, 1) : initialise Y avec des valeurs random entre 0 et 1
y(y<0.3) = 0. : met a zero les cases de y ou y'a des valeurs < 0.3
Marsh Posté le 04-10-2006 à 22:27:49
a present j'ai tapé ca pour ma fonction dirac retardé:
for m=1:Te:3
if(m<T1)
y(m)=0;
end
if(m>=T1)
y(m)=S;
end
end
mais je comprends pas pq matlab me dit la chose suivante:
??? Attempted to access y(1.00005); index must be a positive integer or logical.
Error in ==> porte at 23
y(m)=0;
merci d'avance
Marsh Posté le 04-10-2006 à 22:58:04
hm je viens de trouver mon probleme, on ne peut mettre que des reels entiers ds les arguments ...
Marsh Posté le 02-10-2006 à 20:12:18
j'espere que je suis ds la bonne rubrique ...
Bon voila mon probleme, je n'arrive pas à construire une fonction porte échantillonée d'amplitude S sous Matlab:
J'ai donc pour cela essayer de constuire une chaine d'impulsion retardé par T1, et d'amplitude S, voila ma fonction et évidemment elle ne marche pas:
N=0:1023;
Fe=20e3;
Te=1/Te;
t=N*Te;
T1=5;
if t>=T1
y=S;
else
y=0;
end
on m'a conseillé de définir y
Dans mon cas, y n'est pas un vecteur, comment faire ?
merci d'avance pour votre aide !!!