重庆工商大学数学模型与数学实验课件第03讲 数组及其运算

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第03讲数组及其运算——表达式和二维数组内容提要:1、matlab的表达式基础重点2、数组的产生与操作3.1表达式matlab采用表达式语言,matlab语句有两种常用的形式:1)表达式例:1.3-1+2*0.92)变量=表达式例:a=1.3-1+2*0.9第一种方式的结果实际上是存放在matlab的默认变量ans之中。3.1表达式表达式的组成:1)数值2)变量3)操作符4)函数3.1.1数值1、数值的记述MATLAB数值采用习惯的十进制表示。可以带小数点或负号。3-990.001-5.1+6.8i7.8-6j(虚数)9.4e61.3e-34.5e33(科学表示法)3.1.2变量2、变量的命名规则1)变量名、函数名对字母的大、小写敏感2)变量名由字母、数字和下划线构成,第一个字母必须是英文字母,最多可包含63字符3)变量名中不得包含空格、标点,但可包含下划线请指出下列变量名中哪些是合法的?Abcd-2xyz_3a变量ABCDefg3.1.2变量3、MATLAB系统默认变量ans:计算机结果的缺省变量名eps:机器的零阈值Inf或inf:无穷大i或j:虚单元pi:圆周率NaN或nan:不定值,如0/0,Inf/Inf3.1.3操作符4、MATLAB操作符包括:算术运算符逻辑运算符关系运算符位运算符其他操作符重点一)算术运算+:加法-:减法.*:乘法.^:指数./:右除法.\:左除法’:共轭转置.’:非共轭转置一)算术运算.*:矩阵中元素对元素的乘法.^:矩阵中元素对元素的指数./:矩阵中元素对元素的右除.\:矩阵中元素对元素的左除元素对元素乘法则MATLAB中A.*B的结果:4321aaaaA4321bbbbB44332211*.babababaBA元素对元素指数则MATLAB中A.^B的结果:4321aaaaA4321bbbbB43214321.^bbbbaaaaBA元素对元素右除则MATLAB中A./B的结果:4321aaaaA4321bbbbB44332211/////.babababaBA二)逻辑运算&:逻辑与~:逻辑非|:逻辑或xor:逻辑异或三)关系运算:小于=:小于等于:大于=:大于等于==:等于~=:不等于3.1.4函数MATLAB具有强大的函数功能,从本质上看,可以分为三类:1)MATLAB的内部函数2)MATLAB工具箱中的函数3)用户自定义函数一般的函数只有一个变量,但也可包含多个变量。下面给出函数的几种特殊的用法。3.1.4函数1)函数的嵌套例如:x=sqrt(log(z))3.1.4函数2)多输入函数例如:x=max(z,y)3.1.4函数3)多输出函数例如:[x,i]=max(y)1、多个输出值用[]括起来,且输出值之间用逗号隔开。2、上面式子中的x的值为y中最大的值,i的值是表示y中最大值的位置。有关函数的具体用法,可以通过Help命令得到:Helpfunname小结:☆综上所述,将变量、数值、函数用操作符连接起来,就构成了表达式。例如:a=(1+sqrt(10))/2;b=abs(2+5i);☆行末的“;”用于抑制结果在屏幕上显示,如果要看运行结果可去掉相应行的“;”3.2数组的产生与操作主要内容:1、一维数组2、二维数组3、标准数组生成函数和数组操作函数4、数组的操作5、数组的运算1、一维数组的创建2、一维数组子数组的寻访和赋值1、二维数组的创建2、二维数组元素的标识3、、二维数组子数组的寻访和赋值3.2.1一维数组1、一维数组的创建(1)逐个元素输入法(2)冒号生成法(3)定数线性采样法通用格式:x=a:inc:b其中:a是数组的第一个元素。inc是采样点之间的间隔。inc可以省略。通用格式:x=linspace(a,b,n)其中:a,b是生成数组的第一个和最后一个元素。n为采样总点数。问题:在冒号生成法中,b是否为生成数组的最后一个元素?3.2.1一维数组2、一维数组子数组的寻访和赋值子数组的寻访(Address)x=rand(1,5)x(3)x([125])x(1:3)x(3:end)x(3:-1:1)x(find(x0.5))x([12344321])子数组的赋值(Assign)x=rand(1,5)x(3)=0x([14])=[11]reviewMatlab的表达式content一维数组的产生与操作数值变量操作符函数一维数组的产生1一维数组的操作23.2.2二维数组1、二维数组的创建(1)直接输入法。(适用于较小的数组)(2)利用M文件创建和保存数组。(适用于较大而复杂,且要经常被调用的数组)说明:1、整个输入数组必须以“[]”为其首尾2、数组的行与行之间必须用分号或回车键隔开3、数组的元素之间必须用逗号或空格隔开(注意:所有的符号都在英文状态下输入)2、二维数组元素的标识(1)“全下标”标识。(2)“单下标”标识。(3)“逻辑1”标识。对于二维数组来说,“全下标”标识由两个下标组成:行下标和列下标。A(2,3)表示二维数组A的“第二行第三列”的元素。3.2.2二维数组步骤:1)对二维数组的所有元素进行“一维编号”。2)自上往下从左到右对元素位置进行编号。通过与A同样大小的逻辑值数组L中“逻辑值1”所在的位置,指示A中元素的位置A=[-4-2024;-3-1135];L=abs(A)3%产生与A同维的0-1逻辑值数组islogical(L)%判断L是否逻辑值数组。输出若为1,则是。X=A(L)%把L中逻辑值1对应的A元素取出3、二维数组的子数组寻访与赋值3.2.2二维数组子数组的寻访A(r,c)A(r,:)A(:,c)A(:)A(s)A(L)由A的r指定行和c指定列上的元素组成。由A的r指定行和“全部列”上的元素组成。由A的“全部行”和c指定列上的元素组成。“单下标全元素”寻访。由A的各列按自左到右的次序,首尾相接而生成一维长列数组。“单下标”寻访。生成s指定的一维数组,s若是行数组,A(s)就是长度相同的行数组生成一维列数组。由与A相同大小的逻辑数组L中的“1”元素选出A的对应元素;按单下标次序排成长列组成A=zeros(2,4)%创建的全零数组A(:)=1:8%全元素赋值方式s=[235];%产生单下标数组行数组A(s)%由“单下标行数组”寻访产生%A元素组成的行数组Sa=[102030]’%Sa是长度为3的列数组A(s)=Sa%单下标方式赋值A(:,[23])=ones(2)%把A的第2、3列元素全赋为1example3.2.3标准数组生成函数和操作函数1、标准数组生成函数(1)单位数组和广义单位数组的产生(2)随机数组的产生1)产生均匀分布的随机数函数:R=rand(1,5)2)产生正态分布随机数函数:R=randn(1,5)3)产生均值为m,方差为q的正态分布随机数函数R=q*randn(1,5)+m3.2.3标准数组生成函数和操作函数(3)对角形数组的产生按如下方式进行:B.用函数A=diag(V);可产生相应的对角矩阵A.给出对角线上的元素,放在一个向量V中3.2.3标准数组生成函数和操作函数(4)全零数组和全“1”数组的产生3.2.3标准数组生成函数和操作函数3.2.4数组的操作旋转重新排列复制翻转拼接行列删除1)数组的旋转数组A反时针旋转90或K*90度:B=rot90(A)或B=rot90(A,K)2)数组的重新排列将矩阵的元素重新排列:B=reshape(A,4,2);按列的顺序选取3)数组的复制将矩阵元素复制:B=repmat(A,2,2)4)数组的翻转fliplr()将矩阵左右翻转flipud()将矩阵上下翻转A=96842470C1=fliplr(A)C2=flipud(a)C1=48690742C2=247096845)数组的拼接将小矩阵拼接成大矩阵:通过连接符[]函数:cat()6)数组的行列删除利用空矩阵“[]”可从矩阵中删除指定的行或列3.2.5数组的基本运算算术运算关系运算逻辑运算其他运算1、关系运算:小于=:小于等于:大于=:大于等于==:等于~=:不等于关系运算符比较对应的元素,产生一个仅包括1和0的具有相同维数的矩阵,其元素是:1比较结果为真0比较结果为假A=1:9;B=10-A;R0=(A4)R1=(A==B)有:A=123456789B=987654321R0=111000000R1=0000100002、逻辑运算&:逻辑与~:逻辑非|:逻辑或xor:逻辑异或A=1:9,L1=(A5)%判断A中,那些元素大于5L2=(A3)&(A7)%判断A中,那些元素大于3小于7有:A=123456789L1=000001111L2=000111000说明:在一个表达式中,算术运算符的级别最高,其次是关系运算符,最低级别是逻辑运算符,圆括号可以改变其顺序。总结表达式1、数值2、变量3、操作符4、函数数组的产生与操作1、一维数组2、二维数组3、标准数组生成函数和数组操作函数4、数组的操作5、数组的运算

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功