MATLAB数值计算 (2).ppt
《MATLAB数值计算 (2).ppt》由会员分享,可在线阅读,更多相关《MATLAB数值计算 (2).ppt(130页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2 2章章 MATLAB MATLAB数值计算数值计算2.1 2.1 变量与数据变量与数据2.2 2.2 矩阵与数组矩阵与数组2.3 2.3 矩阵与数组运算矩阵与数组运算2.4 2.4 多项式运算多项式运算1第第2 2章章 MATLAB MATLAB数值计算数值计算2.1 2.1 变量与数据变量与数据2.1.1 2.1.1 2.1.1 2.1.1 数据数据数据数据数据的表达方式:数据的表达方式:采用十进制表示采用十进制表示 矩阵和数组的概念矩阵和数组的概念:标量:是指标量:是指11的矩阵,即为只含的矩阵,即为只含1个数的矩阵。个数的矩阵。向量:是指向量:是指1n或或n1的矩阵,即为只含的矩
2、阵,即为只含1行或行或1列的矩阵列的矩阵矩阵:是矩阵:是1个矩形的数组,即二维数组,其中向量和标量都是矩阵个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例数组:是指的特例数组:是指n维数组,为矩阵的延伸,其中矩阵和向量都是维数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。数组的特例。复数:复数:由实部和虚部组成,用特殊变量由实部和虚部组成,用特殊变量“i”和和“j”表示虚数的单位表示虚数的单位 2复数的运算复数的运算复数的运算复数的运算几个函数:几个函数:real用法:用法:a=real(z)%计算实部计算实部imag用法:用法:a=imag(z)%计算虚部计算虚部abs用法:用法:a
3、=abs(z)%计算幅值计算幅值angle用法:用法:a=angle(z)%计算相角计算相角3第第2 2章章 MATLAB MATLAB的数值计算的数值计算2.1.1 2.1.1 2.1.1 2.1.1 变量变量变量变量变量的命名应遵循如下规则:变量的命名应遵循如下规则:变量的命名应遵循如下规则:变量的命名应遵循如下规则:l 变量名必须以字母打头,之后可以是字母、数字变量名必须以字母打头,之后可以是字母、数字变量名必须以字母打头,之后可以是字母、数字变量名必须以字母打头,之后可以是字母、数字或下划线,如或下划线,如或下划线,如或下划线,如x51483x51483x51483x51483,a_b
4、_c_d_ea_b_c_d_ea_b_c_d_ea_b_c_d_e。l 变量名区分字母大小写,如变量名区分字母大小写,如变量名区分字母大小写,如变量名区分字母大小写,如ItemsItemsItemsItems,itemsitemsitemsitems,itEmsitEmsitEmsitEms及及及及ITEMSITEMSITEMSITEMS都是不同的变量。都是不同的变量。都是不同的变量。都是不同的变量。4l 变量名不允许使用空格、标点符号。变量名不允许使用空格、标点符号。变量名不允许使用空格、标点符号。变量名不允许使用空格、标点符号。l 变量名最多可包含变量名最多可包含变量名最多可包含变量名最多
5、可包含63636363个字符(对于个字符(对于个字符(对于个字符(对于7.x7.x7.x7.x版本)。版本)。版本)。版本)。从前向后取,超出部分忽略。从前向后取,超出部分忽略。从前向后取,超出部分忽略。从前向后取,超出部分忽略。变量的命名应遵循如下规则:变量的命名应遵循如下规则:变量的命名应遵循如下规则:变量的命名应遵循如下规则:l 关键字(如关键字(如关键字(如关键字(如if,whileif,whileif,whileif,while等)不能作为变量名。等)不能作为变量名。等)不能作为变量名。等)不能作为变量名。5虚数单位,i=j=固定变量取值ans用于结果的缺省变量名pi圆周率eps计算
6、机的最小数,当和1相加就产生一个比1大的数flops浮点运算数Inf无穷大,如1/0NaN不定量,如0/0i和jnargin所用函数的输入变量数目nargout所用函数的输出变量数目realmin最小可用正实数realmax最大可用正实数672.2 矩阵和数组矩阵和数组2.2.1 矩阵的赋值矩阵的赋值2.2.2 向量的生成向量的生成 2.2.3 矩阵元素矩阵元素 2.2.4 复数表示复数表示 82.2.1 2.2.1 矩阵的赋值矩阵的赋值(1).(1).(1).(1).直接输入法创建矩阵直接输入法创建矩阵直接输入法创建矩阵直接输入法创建矩阵l 矩阵的所有元素必须放在方括号矩阵的所有元素必须放在
7、方括号矩阵的所有元素必须放在方括号矩阵的所有元素必须放在方括号“”内;内;内;内;l 矩阵元素之间必须用逗号矩阵元素之间必须用逗号矩阵元素之间必须用逗号矩阵元素之间必须用逗号“,”或空格隔开;或空格隔开;或空格隔开;或空格隔开;l 矩阵行与行之间用分号矩阵行与行之间用分号矩阵行与行之间用分号矩阵行与行之间用分号“;”或回车符隔开;或回车符隔开;或回车符隔开;或回车符隔开;l 矩阵元素可以是任何不含未定义变量的表达式;矩阵元素可以是任何不含未定义变量的表达式;矩阵元素可以是任何不含未定义变量的表达式;矩阵元素可以是任何不含未定义变量的表达式;l 标点符号一定要在英文状态下输入。标点符号一定要在英
8、文状态下输入。标点符号一定要在英文状态下输入。标点符号一定要在英文状态下输入。9矩阵元素用空格或矩阵元素用空格或矩阵元素用空格或矩阵元素用空格或逗号分隔,整个矩逗号分隔,整个矩逗号分隔,整个矩逗号分隔,整个矩阵放在方括号内。阵放在方括号内。阵放在方括号内。阵放在方括号内。10矩阵的行用矩阵的行用矩阵的行用矩阵的行用分号或回车分号或回车分号或回车分号或回车符隔开。符隔开。符隔开。符隔开。11矩阵里的元素也可以用表达式代替,矩阵里的元素也可以用表达式代替,矩阵里的元素也可以用表达式代替,矩阵里的元素也可以用表达式代替,表达表达表达表达式由变量名、常数、函数和运算符构成。式由变量名、常数、函数和运算
9、符构成。式由变量名、常数、函数和运算符构成。式由变量名、常数、函数和运算符构成。4*sin(2*t)s*a+b/c4*sin(2*t)s*a+b/c4*sin(2*t)s*a+b/c4*sin(2*t)s*a+b/c sqrt(2)*exp(-i*4)sqrt(2)*exp(-i*4)sqrt(2)*exp(-i*4)sqrt(2)*exp(-i*4)X=-X=-1.3,sqrt(3),(1+2+3)/5*41.3,sqrt(3),(1+2+3)/5*4X=X=-1.3000 1.7321 4.8000 -1.3000 1.7321 4.800012方括号外的分号表示方括号外的分号表示方括号外
10、的分号表示方括号外的分号表示不显示定义的数据。不显示定义的数据。不显示定义的数据。不显示定义的数据。1314注意数据的显示格式注意数据的显示格式注意数据的显示格式注意数据的显示格式152.2.2 2.2.2 向量的生成向量的生成(1).(1).(1).(1).利用冒号利用冒号利用冒号利用冒号“:”运算生成向运算生成向运算生成向运算生成向量量量量l a=a=a=a=m:nm:nm:nm:n%生成步长值为生成步长值为生成步长值为生成步长值为1 1 1 1的均匀等分行向的均匀等分行向的均匀等分行向的均匀等分行向量,量,量,量,m m m m和和和和n n n n分别代表向量的起始值分别代表向量的起始
11、值分别代表向量的起始值分别代表向量的起始值和终止值。和终止值。和终止值。和终止值。l a=a=a=a=m:p:nm:p:nm:p:nm:p:n%生成步长值为生成步长值为生成步长值为生成步长值为p p p p的均匀等分行向的均匀等分行向的均匀等分行向的均匀等分行向量,量,量,量,m m m m和和和和n n n n分别代表向量的起始值分别代表向量的起始值分别代表向量的起始值分别代表向量的起始值和终止值,和终止值,和终止值,和终止值,p p p p 代表向量元素之间代表向量元素之间代表向量元素之间代表向量元素之间步长值。步长值。步长值。步长值。1617(2).(2).(2).(2).利用函数利用函
12、数利用函数利用函数linspace()linspace()linspace()linspace()和和和和logspace()logspace()logspace()logspace()生成向量生成向量生成向量生成向量llinspace(m,nlinspace(m,nlinspace(m,nlinspace(m,n)%生成从生成从生成从生成从m m m m到到到到n n n n之间的之间的之间的之间的100100100100 个线个线个线个线性等分点的行向量。性等分点的行向量。性等分点的行向量。性等分点的行向量。llinspace(m,n,slinspace(m,n,slinspace(m,n
13、,slinspace(m,n,s)%生成从生成从生成从生成从m m m m到到到到n n n n之间的之间的之间的之间的s s s s个线性个线性个线性个线性等分点的行向量。等分点的行向量。等分点的行向量。等分点的行向量。llogspace(m,nlogspace(m,nlogspace(m,nlogspace(m,n)%生成从生成从生成从生成从10101010m m m m到到到到10101010n n n n之间之间之间之间50505050个按个按个按个按对数等分点的行向量。对数等分点的行向量。对数等分点的行向量。对数等分点的行向量。llogspace(m,n,slogspace(m,n,
14、slogspace(m,n,slogspace(m,n,s)%生成从生成从生成从生成从10101010m m m m到到到到10101010n n n n之间之间之间之间s s s s个按个按个按个按对数等分点的行向量。对数等分点的行向量。对数等分点的行向量。对数等分点的行向量。181920(2).(2).(2).(2).利用利用利用利用MATLABMATLABMATLABMATLAB函数创建矩阵函数创建矩阵函数创建矩阵函数创建矩阵命令说明A=空矩阵,即没有元素的矩阵A=eye(n)n维单位阵A=ones(n,m)全部元素都为1的n行m列的矩阵A=ones(n)全部元素都为1的n阶方阵A=ze
15、ros(n,m)全部元素都为0的n行m列的矩阵A=zeros(n)全部元素都为0的n阶方阵A=rand(n,m)元素服从0,1区间均匀分布的n行m列的随机矩阵A=rand(n)元素服从0,1区间均匀分布的n阶随机方阵A=randn(n,m)元素服从标准正态分布的n行m列的随机矩阵A=randn(n)元素服从标准正态分布的n阶随机方阵表表表表2-3 2-3 2-3 2-3 特殊矩阵函数特殊矩阵函数特殊矩阵函数特殊矩阵函数21222.2.3 2.2.3 矩阵的元素矩阵的元素 在在在在 MATLAB MATLAB MATLAB MATLAB 系统中,矩阵的元素是通过其系统中,矩阵的元素是通过其系统中
16、,矩阵的元素是通过其系统中,矩阵的元素是通过其行、列的标号来标识的,矩阵元素所处的行号行、列的标号来标识的,矩阵元素所处的行号行、列的标号来标识的,矩阵元素所处的行号行、列的标号来标识的,矩阵元素所处的行号和列号称为该元素的下标。矩阵元素可以通过和列号称为该元素的下标。矩阵元素可以通过和列号称为该元素的下标。矩阵元素可以通过和列号称为该元素的下标。矩阵元素可以通过其下标来引用,其下标来引用,其下标来引用,其下标来引用,A(i,j)A(i,j)A(i,j)A(i,j)即表示矩阵即表示矩阵即表示矩阵即表示矩阵A A A A的第的第的第的第i i i i行第行第行第行第 j j j j列的元素列的元
17、素列的元素列的元素。注意:注意:注意:注意:在在在在 MATLAB MATLAB MATLAB MATLAB 中,矩阵下标的行、列号都中,矩阵下标的行、列号都中,矩阵下标的行、列号都中,矩阵下标的行、列号都 是从是从是从是从 1 1 1 1 开始的开始的开始的开始的 (1 1 1 1)矩阵的下标)矩阵的下标)矩阵的下标)矩阵的下标232441016282947757150345423131303在在在在MATLABMATLABMATLABMATLAB的内部数据储存结构中,每一个矩阵都是的内部数据储存结构中,每一个矩阵都是的内部数据储存结构中,每一个矩阵都是的内部数据储存结构中,每一个矩阵都是一
18、个以列为主的向量,因此对于矩阵内各元素的存一个以列为主的向量,因此对于矩阵内各元素的存一个以列为主的向量,因此对于矩阵内各元素的存一个以列为主的向量,因此对于矩阵内各元素的存取是按列来进行总排。取是按列来进行总排。取是按列来进行总排。取是按列来进行总排。冒号冒号冒号冒号“:”表示表示表示表示“全部全部全部全部”。25(2 2 2 2).矩阵的赋值矩阵的赋值矩阵的赋值矩阵的赋值全下标方式:A(i,j)=B给A矩阵的部分元素赋值则B矩阵的行列数必须等于A矩阵的行列数。A(1:2,1:3)=1 1 1;1 1 1 A=1 1 1 6 2 1 1 1 4 7 7 5 7 1 5 0 3 4 5 4 2
19、3 13 6 0 3 26单下标方式:A(s)=b,b为向量,元素个数必须等于A矩阵的元素个数。A(5:6)=2 3 A=1 3 1 6 2 1 1 1 4 7 7 5 7 1 5 0 3 4 5 4 2 13 6 0 3 27全元素方式:A(:)=B,给矩阵的所有元素赋值则矩阵的元素总数必须等于矩阵的元素总数,但行列数不一定相等。A=1 2;3 4;5 6 A=1 2 3 4 5 6 28(3 3 3 3)矩阵元素的删除)矩阵元素的删除)矩阵元素的删除)矩阵元素的删除 在MATLAB中可以对矩阵的单个元素、子矩阵块和所有元素进行删除操作,就是简单地将其复制为空矩阵(用表示)。A=1 2 3;
20、4 5 6;7 8 9 A=1 2 3;4 5 6;7 8 9 A=1 2 3A=1 2 3 4 5 6 4 5 6 7 8 9 7 8 9 A(:,3)=A(:,3)=%删除一列元素删除一列元素 A=1 2A=1 2 4 5 4 5 7 8 7 8 A(1)=A(1)=%删除删除1 1个元素个元素A=A=%删除所有元素为空矩阵删除所有元素为空矩阵 A=A=29(4 4 4 4)生成大矩阵)生成大矩阵)生成大矩阵)生成大矩阵在MATLAB中,可以通过方括号“”实现将小矩阵联接起来生成个较大的矩阵。a;a%连结成6*3的矩阵 ans=1.6000 1.6000 a a%连结成3*6的矩阵 ans
21、=1.6000 1.6000 30(5 5).矩阵维数的扩大与缩小矩阵维数的扩大与缩小MATLAB MATLAB MATLAB MATLAB 已定义的矩阵的维数可以扩大,也可以已定义的矩阵的维数可以扩大,也可以已定义的矩阵的维数可以扩大,也可以已定义的矩阵的维数可以扩大,也可以缩小。如果输入的同名矩阵的维数小于或大于原缩小。如果输入的同名矩阵的维数小于或大于原缩小。如果输入的同名矩阵的维数小于或大于原缩小。如果输入的同名矩阵的维数小于或大于原矩阵维数,矩阵维数,矩阵维数,矩阵维数,MATLAB MATLAB MATLAB MATLAB 认为是原矩阵修改了部分元认为是原矩阵修改了部分元认为是原矩
22、阵修改了部分元认为是原矩阵修改了部分元素或子块。素或子块。素或子块。素或子块。增加矩阵的维数时,可以只给出非零增加矩阵的维数时,可以只给出非零增加矩阵的维数时,可以只给出非零增加矩阵的维数时,可以只给出非零元素,元素,元素,元素,MATLAB MATLAB MATLAB MATLAB 自动将未定义元素设为自动将未定义元素设为自动将未定义元素设为自动将未定义元素设为 0 0 0 0。减小。减小。减小。减小矩阵维数时,必须使用矩阵维数时,必须使用矩阵维数时,必须使用矩阵维数时,必须使用“”“”“”“”命令来对行或列进命令来对行或列进命令来对行或列进命令来对行或列进行操作,则相应的行或列即被删除。行
23、操作,则相应的行或列即被删除。行操作,则相应的行或列即被删除。行操作,则相应的行或列即被删除。31增加矩阵的维数时,增加矩阵的维数时,增加矩阵的维数时,增加矩阵的维数时,可以只给出非零元素,可以只给出非零元素,可以只给出非零元素,可以只给出非零元素,MATLAB MATLAB MATLAB MATLAB 自动将未定自动将未定自动将未定自动将未定义元素设为义元素设为义元素设为义元素设为 0 0 0 0。3233“空矩阵空矩阵空矩阵空矩阵”是指没有元素的矩阵,对任何一个矩是指没有元素的矩阵,对任何一个矩是指没有元素的矩阵,对任何一个矩是指没有元素的矩阵,对任何一个矩阵赋值阵赋值阵赋值阵赋值,就是使
24、它的元素都必须消失掉。,就是使它的元素都必须消失掉。,就是使它的元素都必须消失掉。,就是使它的元素都必须消失掉。空矩阵是使矩阵缩小时空矩阵是使矩阵缩小时空矩阵是使矩阵缩小时空矩阵是使矩阵缩小时不可缺少的概念。不可缺少的概念。不可缺少的概念。不可缺少的概念。34删除矩阵删除矩阵删除矩阵删除矩阵A A A A的第二列的第二列的第二列的第二列35删除第删除第删除第删除第一行和一行和一行和一行和第四行第四行第四行第四行363738在原矩阵在原矩阵在原矩阵在原矩阵A A A A中中中中再加入一行。再加入一行。再加入一行。再加入一行。39(6 6).矩阵的翻转矩阵的翻转矩阵的翻转及对角化操作函数矩阵的翻转
25、及对角化操作函数矩阵的翻转及对角化操作函数矩阵的翻转及对角化操作函数命命命命令令令令说说说说明明明明flipud(A)flipud(A)flipud(A)flipud(A)矩阵作上下翻转矩阵作上下翻转矩阵作上下翻转矩阵作上下翻转fliplr(A)fliplr(A)fliplr(A)fliplr(A)矩阵作左右翻转矩阵作左右翻转矩阵作左右翻转矩阵作左右翻转rot90(A)rot90(A)rot90(A)rot90(A)矩阵逆时针翻转矩阵逆时针翻转矩阵逆时针翻转矩阵逆时针翻转90909090diag(A)diag(A)diag(A)diag(A)提取矩阵提取矩阵提取矩阵提取矩阵A A A A的对角
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB数值计算 2 MATLAB 数值 计算
限制150内