fonction porte [Matlab] - Langages fonctionnels - Programmation
Marsh Posté le 15-04-2011 à 01:09:50
t = 0:0.01:1;
y = heaviside(t-0.25)-heaviside(t-0.6);
plot(t,y)
Marsh Posté le 15-04-2011 à 09:34:57
merci beaucoup. je vais essayer de resoudre mon probleme comme ca.
Marsh Posté le 15-04-2011 à 15:51:51
Et Si maintenant je veux que cette fonction porte soit répétée périodiquement de 0 a une certaine valeur M.
J'avais pensé à faire une convolution par un peigne de Dirac...mais j'avoue que je ne vois pas du tout comment mettre ca en oeuvre avec Matlab.
quelqu'un serais capable de m'aider à nouveau ?
Marsh Posté le 15-04-2011 à 16:59:13
function [R] = reseau(L);
K=1030E-9;
p=100E-3;
t=0:0,001:ceil((L+2*K/p)/p);
n=0:ceil((L+2*K/p)/p);
d=dirac(t_n*p);
R = conv(U,d);
end
ou U est une fonction porte
function [U] = foncU(x,nb)
t=linspace(0,1,nb);
v=zeros(nb,1);
for i =1:2*M
v(i)=(-1)^i.*heaviside(t-x(i));
end
U= heaviside(t)+2.*sum(v);
end
pensez vous que ca puisse marcher ?
je n'ai pas matlab chez moi pour tester ^^
Marsh Posté le 14-04-2011 à 22:17:32
Bonjour à tous et à toute.
Voici mon soucis , j'essaie de faire une fonction porte sur matlab allant d'un nombre réel a un autre.
Ex = 0 sur [ 0 ; 0,25 ] et 1 sur [ 0,25 ; 0,60] puis 0 sur [0,60 ; 1]
Dans un 1er temps j'ai fait
Porte = [ zeros(1,nA) ones(1,nB) zeros(1,nC) ];
Ca marche sans soucis, mais je cherche à faire une fonction porte entre des nombres qui ne sont pas des entiers...donc probleme
Connaisez vous une autre methode ?
Merci de votre réponse.