这两个matlab语句是什么意思?

第一句是:
m=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)];

第二句是:
f=[0:df1:df1*(length(m)-1)]-fs/2; lenth应该是一个函数,但是我
; 不知道方括号中用冒号隔开三个
; 数值是什么意思?

回答正确可以再加5分。

ones(m,n)表示一个m行n列的全1阵
zeros(m,n)表示一个m行n列的全0阵
[]是向量的拼合操作,以","分开的则按列拼,以";"分开的则按行拼.
第一句是将一个1*t0/(3*ts)的全1阵,和一个1*t0/(3*ts)的全-2阵,和一个1*(t0/(3*ts)+1)的全零阵按列拼起来,就是一个1*(3*t0/(3*ts)+1)的行向量
m=[1 1 ... 1 1 -2 -2 ... -2 -2 0 0 ... 0 0 0]

length()返回一个向量的长度,也就是行向量的列数或者列向量的行数
: 是用于生成等差数列构成的向量的.如果有只有一个分号,则从前一个递增1到后一个构成行向量;如果有两个分号,则两个分号间表示递增步长(步长可以是负数)
向量或者矩阵和数的加减乘除相当于每个元素和这个数做相应运算.
第二句构造了一个和第一句中定义的m长度一样的向量,起始为0-fs/2,步长为df1,最末为df1*(length(m)-1)-fs/2.

楼主还是买本matlab的初级书看看吧.
温馨提示:答案为网友推荐,仅供参考
相似回答