Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

WHY THIS ERROR OCCUR ''??? Subscript indices must either be real positive integers or logicals."

1 vue (au cours des 30 derniers jours)
nadine
nadine le 6 Nov 2012
Clôturé : MATLAB Answer Bot le 20 Août 2021
t=-5 :0.1 :10;
h2=zeros(size(t));
h1=zeros(size(t));
z=zeros(size(t));
z=1*(t==0);
h2(t>=0)=exp(-t(t>=0));
h1(t>=0)=exp(-2*t(t>=0));
y1=conv(z,h1);
tn=t(1)+t(1):.1:t(end)+t(end);
y3=conv(z,h2);
y(tn)=y1+y3;
plot(tn,y);
hold on
y2(tn)=h1+h2;
plot(tn,y2)
ylabel('y1(t)=x(t)*h(t)');
xlabel('time[sec]');
grid;

Réponses (2)

Kye Taylor
Kye Taylor le 6 Nov 2012
Modifié(e) : Kye Taylor le 6 Nov 2012
Rethink how you're defining/using the variable
tn

Wayne King
Wayne King le 6 Nov 2012
Modifié(e) : Wayne King le 6 Nov 2012
The problem is that you have a vector, tn, that goes in increments of 0.1, but you cannot access elements of another vector y() using that.
The elements of y() have to be accessed using a positive integer between 1 and the length of y.
For example,
y = randn(100,1);
y(5:10)
You are trying to do this:
y(3.1)

Cette question est clôturée.

Community Treasure Hunt

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

Start Hunting!

Translated by