Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: ()-indexing must appear last in an index expression.
Replies: 2   Last Post: Mar 13, 2013 9:27 AM

 Messages: [ Previous | Next ]
 Christopher Creutzig Posts: 323 Registered: 2/24/09
Re: ()-indexing must appear last in an index expression.
Posted: Mar 13, 2013 9:27 AM

On 11.03.13 14:22, Natali wrote:
> It is a silly error but I don't know how to write it better. I have 6 signals i want to calculate what it goes after:
>
> %% Adjusting frequency range to Nyquist frequency
>
> n=[n1,n2,n3,n4,n5,n6]; % Each stands for the number of samples of each signal
> f=[f1,f2,f3,f4,f5,f6]; % The frequency of each of them
> Yamp=[Yamp1,Yamp2,Yamp3,Yamp4,Yamp5,Yamp6]; % And the amplitude also.
> for m=1:6
> if mod(n,2)==0

Should probably read n(m), not n, right?

> n_cutoff(m)=n(m)./2 % Even: takes the first half of the frequency range
> else
> n_cutoff(m)=(n(m)-1)./2 % Odd: takes the first half of the frequency range (rounded down)
> end

Also note that you could simply use n_cutoff(m)=floor(n(m)./2) instead
of the if branching.

> f(m)=f(m)(0:n_cutoff(m)); % Scales down the frequency range

As Steven already told you, MATLAB doesn't allow that, syntactically.

fm = f(m);
f(m) = fm(0:n_cutoff(m));

And similarly for the lines below.

HTH,
Christopher

Date Subject Author
3/11/13 Steven Lord
3/13/13 Christopher Creutzig