2.利用冒号表达式生成向量 冒号表达式的基本形式为x=x0:step:xn,其中x0、step、xn 分别为给定数值,x0 表示向量的首元素数值,xn 表示向量尾元素数值限,step 表示从第二个元素开始,元素数值大小与前一个元素值大小的差值。 注意:这里强调xn 为尾元素数值限,而非尾元素值,当xn-x0 恰为step 值的整数倍时,xn 才能成为尾值。若x00;若x0>xn 则需step<0;若x0=xn ,则向量只有一个元素。若step=1,则可省略此项的输入,直接写成x=x0:xn。此时可以不用“[ ]”。 【例如】 >> a=1:2:12 a= 1 3 5 7 9 11 >> a=1:-2:12 a= Empty matrix: 1-by-0 >> a=12:-2:1 a= 12 10 8 6 4 2 >> a=1:2:1 a= 1 >> a=1:6 a= 1 2 3 4 5 6 3.线性等分向量的生成 在 MATLAB 中提供了线性等分功能函数linspace,用来生成线性等分向量,其调用格式 如下: y=linspace(x1,x2)生成100 维的行向量,使得 y(1)=x1,y(100)=x2; y=linspace(x1,x2,n)生成n 维的行向量,使得 y(1)=x1,y(n)=x2。 【例如】 a1=linspace(1,100,6) a1 = 1.0000 20.8000 40.6000 60.4000 80.2000 100.0000 说明 线性等分函数和冒号表达式都可生成等分向量。但前者是设定了向量的维数去生成等间隔向量,而后者是通过设定间隔来生成维数随之确定的等间隔向量。 4.对数等分向量的生成 在自动控制,数字信号处理中常常需要对数刻度坐标,MATLAB 中还提供了对数等分功能函数,具体格式如下: y=logspace(x1,x2)生成50 维对数等分向量,使得y(1)=10x1,y(50)=10x2; y=logspace(x1,x2,n)生成n 维对数等分向量,使得y(1)=10x1,y(n)=10x2; 【例如】 >> a2=logspace(0,5,6) a2 = 1 10 100 1000 10000 100000 另外,向量还可以从矩阵中提取,还可以把向量看成1×n 阶(行向量)或 n×1阶(列向量)的矩阵,以矩阵形式生成。由于在MATLAB 中矩阵比向量重要得多,此类函数将在下节矩阵中详细介绍,专门对向量运算感兴趣的读者可参考下一节。 2.2.2 向量的基本运算 1.加(减)与数加(减) 【例如】 >> a1-1 %这里的a1 即上页中生成的a1 ans = 0 19.8000 39.6000 59.4000 79.2000 99.0000 2.数乘 【例如】 >> a1*2 ans = 2.0000 41.6000 81.2000 120.8000 160.4000 200.0000 2.2.3 点积、叉积及混合积的实现 1.点积计...