Azzera filtri
Azzera filtri

any idea why i'm getting this error?

1 visualizzazione (ultimi 30 giorni)
ocsse
ocsse il 25 Mar 2018
Commentato: Rena Berman il 5 Apr 2018
why i'm getting Subscript indices must either be real positive integers or logicals.
m = zeros(4,500);
n_trig = 3;
n = (0:Harm).';
f0 = 1/T;
fs = samples / T;
n = (0:n_trig).';
wnt = 2*pi*f0*n*t;
ft = exp((2 - t) / 4);
s1 = (1/T) * sum(ft) / fs;
s2 = (2/T) * ft * cos(2*pi*f0*n*t).' / fs;
s3 = (2/T) * ft * cos(2*pi*f0*n*t).' / fs;
s = s1 + s2*cos(wnt) + s3*sin(wnt);
for n = 0:3
m(n,:) = s(n);
end
thanks

Risposta accettata

Walter Roberson
Walter Roberson il 25 Mar 2018
You have
for n = 0:3
m(n,:) = s(n);
end
When n = 0 (the first value for n), you are trying to do m(0,:) = s(0) . That is not valid, as MATLAB indices start at 1.
By the way, why do you have the line
n = (0:Harm).';
when you overwrite n three lines later?

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by