资源描述:
《matlab入门到精通ch03》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、3数值数组及其运算3.1引导【*例3.1-1】绘制函数在时的曲线。x=0:0.1:1%定义自变量的采样点取值数组y=x.*exp(-x)%利用数组运算计算各自变量采样点上的函数值plot(x,y),xlabel('x'),ylabel('y'),title('y=x*exp(-x)')%绘图x=Columns1through700.10000.20000.30000.40000.50000.6000Columns8through110.70000.80000.90001.0000y=Columns1through700.0
2、9050.16370.22220.26810.30330.3293Columns8through110.34760.35950.36590.3679图3.1-13.2一维数组的创建和寻访3.2.1一维数组的创建3.2.2一维数组的子数组寻访和赋值【*例3.2.2-1】子数组的寻访(Address)。rand('state',0)%把均匀分布伪随机发生器置为0状态22x=rand(1,5)%产生的均布随机数组x=0.95010.23110.60680.48600.8913x(3)%寻访数组x的第三个元素。ans=0.6068
3、x([125])%寻访数组x的第一、二、五个元素组成的子数组。ans=0.95010.23110.8913x(1:3)%寻访前三个元素组成的子数组ans=0.95010.23110.6068x(3:end)%寻访除前2个元素外的全部其他元素。end是最后一个元素的下标。ans=0.60680.48600.8913x(3:-1:1)%由前三个元素倒排构成的子数组ans=0.60680.23110.9501x(find(x>0.5))%由大于0.5的元素构成的子数组ans=0.95010.60680.8913x([123443
4、21])%对元素可以重复寻访,使所得数组长度允许大于原数组。ans=Columns1through70.95010.23110.60680.48600.48600.60680.2311Column80.9501【*例3.2.2-2】子数组的赋值(Assign)。x(3)=0%把上例中的第三个元素重新赋值为0x=0.95010.231100.48600.8913x([14])=[11]%把当前x数组的第一、四个元素都赋值为1。x=1.00000.231101.00000.89133.1二维数组的创建3.1.1直接输入法【*例
5、3.3.1-1】在MATLAB环境下,用下面三条指令创建二维数组C。a=2.7358;b=33/79;%这两条指令分别给变量a,b赋值。C=[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]%这指令用于创建二维数组CC=221.00005.4716+0.4177i0.69090.70714.82443.5000+1.0000i【*例3.3.1-2】复数数组的另一种输入方式。M_r=[1,2,3;4,5,6],M_i=[11,12,13;14,15,16]CN=M_r+i*M_i%由实部、
6、虚部数组构成复数数组M_r=123456M_i=111213141516CN=1.0000+11.0000i2.0000+12.0000i3.0000+13.0000i4.0000+14.0000i5.0000+15.0000i6.0000+16.0000i3.1.1利用M文件创建和保存数组【例3.3.2-1】创建和保存数组AM的MyMatrix.m文件。%MyMatrix.mCreationandpreservationofmatrixAMAM=[101,102,103,104,105,106,107,108,109;.
7、..201,202,203,204,205,206,207,208,209;...301,302,303,304,305,306,307,308,309];3.2二维数组元素的标识3.2.1“全下标”标识3.2.2“单下标”标识3.2.3“逻辑1”标识【*例3.4.3-1】找出数组中所有绝对值大于3的元素。A=zeros(2,5);%预生成一个(2*5)全零数组A(:)=-4:5%运用“全元素”赋值法获得AL=abs(A)>3%产生与A同维的“0-1”逻辑值数组islogical(L)%判断L是否逻辑值数组。输出若为1,则
8、是。X=A(L)%把L中逻辑值1对应的A元素取出A=-4-2024-3-1135L=100010000122ans=1X=-445【*例3.4.3-2】演示逻辑数组与一般双精度数值数组的关系和区别。(本例在例3.4.3-1基础上进行)。(1)逻辑数组与双精度数组的相同之处Num=[1,0,0,0,1;0