Je suis nouveau à Matlab et débordement de pile pour commencer, donc si je fais quelque chose de mal en dehors des directives, s'il vous plaît don ' hésiter à le signaler. Merci!Matlab Convolution en ce qui concerne la fonction conv() et la fonction length()/size()
J'ai essayé de faire la convolution entre deux fonctions et j'ai eu du mal à essayer de le faire fonctionner.
t=0:.01:10;
h=exp(-t);
x=zeros(size(t)); % When I used length(t), I would get an error that says in conv(), A and B must be vectors.
x(1)=2;
x(4)=5;
y=conv(h,x);
figure; subplot(3,1,1);plot(t,x); % The discrete function would not show (at x=1 and x=4)
subplot(3,1,2);plot(t,h);
subplot(3,1,3);plot(t,y(1:length(t))); %Nothing is plotted here when ran
J'ai commenté mes problèmes avec le code. Je ne comprends pas la différence de length
et size
dans ce cas et comment cela ferait une différence.
Pour le deuxième commentaire, x=1
doit avoir une amplitude de 2
. Alors que x=4
devrait avoir une amplitude de 5
. Lorsque tracé, il ne montre rien dans les endroits spécifiés, mais semble brouillé au x=0
. Je suppose que c'est la raison pour laquelle l'intrigue alambiquée ne sera pas affichée.
L'énoncé de problème original est donné s'il aide à comprendre ce que je pensais tout au long.
Considérons un signal d'entrée x (t) qui se compose de deux fonctions delta à t = 1 et t = 4 avec des amplitudes A1 = 5 et A2 = 2, respectivement, pour un système linéaire à réponse impulsionnelle h qui est une impulsion exponentielle (h (t) = e^-t). Tracer x (t), h (t) et la sortie du système linéaire y (t) pour t dans la plage de 0 à 10 en utilisant des incréments de 0,01. Utilisez la fonction intégrée MATLAB conv.