x=(0:0.01:6)'; k=0.2:0.1:2; y=sin(x)*k; plot(x,y) 请解释下这段程序,特别是第一句.

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/29 09:12:24
x=(0:0.01:6)'';k=0.2:0.1:2;y=sin(x)*k;plot(x,y)请解释下这段程序,特别是第一句.x=(0:0.01:6)'';k=0.2:0.1:2;y=sin(x)*k;p

x=(0:0.01:6)'; k=0.2:0.1:2; y=sin(x)*k; plot(x,y) 请解释下这段程序,特别是第一句.
x=(0:0.01:6)'; k=0.2:0.1:2; y=sin(x)*k; plot(x,y) 请解释下这段程序,特别是第一句.

x=(0:0.01:6)'; k=0.2:0.1:2; y=sin(x)*k; plot(x,y) 请解释下这段程序,特别是第一句.
x=(0:0.01:6)'是将变量X进行转置,得到一个列向量601*1,
k=0.2:0.1:2是函数y=Asin(x)的振幅的取值范围,是一个行向量1*19,
y=sin(x)*k中sin(x)是一个列向量,或601*1的矩阵,k为1*19的矩阵,y为601*19的矩阵,根据矩阵 相乘的法则,y写成行向量的形式为y=[k1*sin(x),k2*sin(X),...k19*sin(x)],其中kn*sin(x)为601*1的列向量.
plot(x,y),在matlab中二维矩阵是按照列顺序存储的,根据plot的规则,每取出一个向量x,对应从y中顺序取出和x长度相等的数据,即取出一列数据kn*sin(x).如果y中数据没有取完,则重新以x为长度,读取y的数据,本例中共读取19次,故plot(x,y)实际是画了19条振幅不同的正弦曲线.