any idea why i'm getting this error?

1 次查看(过去 30 天)
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

采纳的回答

Walter Roberson
Walter Roberson 2018-3-25
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?

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by