Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

explod1ng

Duvida Matlab

Mensagens Recomendadas

explod1ng

Considere o sinal de tempo discreto x[n] = 2sin[0.02π n](u[n + 50]− u[n − 50]) .

Determine e apresente a resposta dos seguintes sistemas ao sinal de entrada x[n], para −60 ≤ n ≤ 60 :

1y [n] = 0.1x[n −1]− 0.7x[n − 2]+ 0.2x[n − 4];

estou a tentar resolver este problema utilizando o matlab.

O codigo criado por mim foi o seguinte:

function ex4_1a( xs )

syms ns;

n=-60:60;

y=[];

x=[];

y2=0.1*subs(xs,ns,ns-1)-0.7*subs(xs,ns,ns-2)+0.2*subs(xs,ns,ns-4);

for k=1:length(n),

if n(k)<-50, y(k)=0; x(k)=0;

elseif n(k)>=50, y(k)=0; x(k)=0;

else y(k)=subs(y2,ns,k);x(k)=subs(xs, ns, k);

end;

end;

plot(n,x);

hold all;

plot(n,y);

legend(' x[n]=2sin[0.02*pi*n](u[n+50]-u(n-50))',' y[n]=0.1x[n-1]-0.7x[n-2]+0.2x[n-4]',2,'Location','NorthEast');

title('Resposta do sistema no intervalo [-60,60]');

Mas depois a tentar correr o programa introduzindo 2sin[0.02π n](u[n + 50]− u[n − 50]) como sendo uma string da o seguinte erro:

x='2*sin*[0.02*pi*n]*(u*[n+50]-u[n-50])'

x =

2*sin*[0.02*pi*n]*(u*[n+50]-u[n-50])

>> ex4_1a(x)

??? Conversion to double from sym is not possible.

Error in ==> ex4_1a at 13

else y(k)=subs(y2,ns,k);x(k)=subs(xs, ns, k);

Alguem me pode dizer de que maneira devo introduzir a funcao de entrada?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.