2013-03-08 71 views
2

我是matlab新手,在這個學術練習中他們要求我們從連續函數中進行採樣。Matlab中的連續函數採樣

我原來的職能是:

x = sin(pi * t); 
y = cos(2 * pi * t/3); 
z = x + y - 2; 

在間隔

t = -8:0.001:8; 

然後他們要求我們做一個抽樣,z(n)z週期爲Ts=0.01秒。

我的想法是在一個新的載體保存的z值,通過z 10十個位置跳躍:

n = numel(z); 
Zd = z(0:10:z); 

這個想法來自於事實,將0.01秒便十倍不太準確第一'連續'區間t。但matlab說,這是不可能的,並給我的錯誤:

??? Subscript indices must either be real positive integers or logicals. 

有人可以給我一些提示呢?

+5

MATLAB索引從'1'而不是'0'開始。 OMG! – Memming 2013-03-08 03:04:16

+1

OMG! 我剛剛用這個「浪費」了一個問題。 對我感到羞恥。 謝謝! – 2013-03-08 03:06:52

+0

另見[這個問題](http://stackoverflow.com/questions/20054047/subscript-indices-must-either-be-real-positive-integers-or-logicals-generic-sol)[通用解決方案這個問題](http://stackoverflow.com/a/20054048/983722)。 – 2013-11-27 16:11:34

回答

2

As 2 @Memming說,matlab索引從1開始而不是0,這是我的問題。

謝謝。