MatLab基本运算
第二讲 MATLAB基本运算

矩阵下标的用途
访问超出矩阵范围时,产生 Index exceeds matrix dimentions 存储超出矩阵范围时,矩阵自动调节 大小,将指定位置元素置入,其他没 指定数的位置默认为零。
2010-12-25
21
矩阵下标的用途
(2)矩阵连接 例:a=[1 2;3 4] b=[a a+5; a-5 zeros(size(a)] 将小矩阵嵌套入大矩阵,实现矩阵连接。
将矩阵按创建原则写入一个M文件, 在MATLAB的命令窗口或程序中直接执 行该M文件,即将矩阵调入工组空间。
2010-12-25
15
利用MATLAB函数创建矩阵 利用MATLAB函数创建矩阵 MATLAB
ones( m, n) - m行n列的1阵产生 zeros(m, n) -产生m行n列的全0阵 rand(m, n) -产生m行n列均匀分布全列的在 [0,1]区间的随机阵 randn(m, n) -产生m行n列的正态分布矩阵 eye(n) -产生n维单位阵
2010-12-25 18
2.2.3 矩阵的下标 .2.3
子矩阵提取A(v1, v2)
v1表示子矩阵包含的行标构成的向量 v2表示子矩阵包含的列标构成的向量 B1=A(:, [1, 3]) 为:时表示要提取所有行(列) B2=A(1:2:end, :) end表示最后一行(列) B3=A([3,2,1],[2,3,4]) 例: B4=A(:, end:-1:1) 提取A矩阵所有行、1,3列 提取A矩阵 3,2,1 行、2,3,4 列构成子矩阵 提取A矩阵全部奇数行,所有列 将A矩阵左右翻转
2010-12-25
13
直接输入法创建矩阵
例:创建矩阵
实验一 Matlab基本操作及运算

实验一Matlab基本操作及运算一、实验目的:1.熟悉MATLAB基本操作2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识:1.熟悉MATLAB环境熟悉MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。
2.掌握MATLAB常用命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英文字母开头(3)长度不大于31个(4)区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。
MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4. MATLAB的一维、二维数组的访问表6 子数组访问与赋值常用的相关指令格式5. MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常用函数表8 标准数组生成函数表9 数组操作函数7.多项式运算poly——产生特征多项式系数向量roots——求多项式的根p=poly2str(c,‘x’)—(将特征多项式系数向量c转换为以习惯方式显示是多项式)conv, convs——多项式乘运算deconv——多项式除运算polyder(p)——求p的微分polyder(a, b)——求多项式a,b乘积的微分[p,q]=polyder(p1,p2)——求解多项式p1/p2微分的有理分式poly(p,A)——按数组运算规则求多项式p在自变量A的值polym(p,A)——按矩阵运算规则求多项式p在自变量A的值三、实验内容1、新建一个文件夹(自己的名字命名)2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
方法如下:3、保存,关闭对话框(要求抓取自己实验的图,插入到自己的实验报告中)4、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)5、使用clc 、clear ,观察command window 、command history 和workspace等窗口的变化结果。
实验一 MATLAB运算基础

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+>> z1=2*sin(85*pi/180)/(1+exp(2))z1 =0.2375(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦>> x=[2 1+2*i;-0.45 5];>> z2=1/2*log(x+sqrt(1+x*x))z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044i (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=-->> a=-3.0:0.1:3.0;>> z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2) z3 =Columns 1 through 20.7388 + 3.1416i 0.7696 + 3.1416iColumns 3 through 40.7871 + 3.1416i 0.7913 + 3.1416iColumns 5 through 60.7822 + 3.1416i 0.7602 + 3.1416iColumns 7 through 80.7254 + 3.1416i 0.6784 + 3.1416iColumns 9 through 100.6196 + 3.1416i 0.5496 + 3.1416i Columns 11 through 120.4688 + 3.1416i 0.3780 + 3.1416i Columns 13 through 140.2775 + 3.1416i 0.1680 + 3.1416i Columns 15 through 160.0497 + 3.1416i -0.0771 + 3.1416i Columns 17 through 18-0.2124 + 3.1416i -0.3566 + 3.1416i Columns 19 through 20-0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 22-0.8536 + 3.1416i -1.0497 + 3.1416i Columns 23 through 24-1.2701 + 3.1416i -1.5271 + 3.1416i Columns 25 through 26-1.8436 + 3.1416i -2.2727 + 3.1416i Columns 27 through 28-2.9837 + 3.1416i -37.0245 Columns 29 through 30-3.0017 -2.3085 Columns 31 through 32-1.8971 -1.5978 Columns 33 through 34-1.3575 -1.1531 Columns 35 through 36-0.9723 -0.8083 Columns 37 through 38-0.6567 -0.5151 Columns 39 through 40-0.3819 -0.2561 Columns 41 through 42-0.1374 -0.0255Columns 43 through 440.0792 0.1766 Columns 45 through 460.2663 0.3478 Columns 47 through 480.4206 0.4841 Columns 49 through 500.5379 0.5815 Columns 51 through 520.6145 0.6366 Columns 53 through 540.6474 0.6470 Columns 55 through 560.6351 0.6119 Columns 57 through 580.5777 0.5327 Columns 59 through 600.4774 0.4126 Column 610.3388(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2.5>> t=0:0.5:2.5; >>z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3)z4 =Columns 1 through 40 0.2500 0 1.2500Columns 5 through 61.00002.25002. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)>> A=[12 34 -4;34 7 87;3 65 7];>> B=[1 3 -1;2 0 3;3 -2 7]; >> I=ones(3);>> A+6*Bans =18 52 -1046 7 10521 53 49 >> A-B+Ians =12 32 -233 8 851 68 1(2) A*B和A.*B>> A*Bans =68 44 62309 -72 596154 -5 241>> A.*Bans =12 102 468 0 2619 -130 49(3) A^3和A.^3>> A^3ans =37226 233824 48604247370 149188 60076678688 454142 118820 >> A.^3ans =1728 39304 -6439304 343 65850327 274625 343(4) A/B及B\A>> A/Bans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000>> B\Aans =109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000(5) [A,B]和[A([1,3],:);B^2]>> [A,B]ans =12 34 -4 1 3 -134 7 87 20 3 3 65 7 3-2 7>> [A([1,3],:);B^2]ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。
matlab数学运算符

matlab数学运算符一、加法运算符(+)加法运算符是Matlab中最基本的数学运算符之一,用于实现数值的相加操作。
在Matlab中,可以使用加法运算符计算两个或多个数值的和。
例如,使用加法运算符可以计算2和3的和,即2+3=5。
二、减法运算符(-)减法运算符用于实现数值的相减操作。
在Matlab中,可以使用减法运算符计算两个数值的差。
例如,使用减法运算符可以计算5和3的差,即5-3=2。
三、乘法运算符(*)乘法运算符用于实现数值的相乘操作。
在Matlab中,可以使用乘法运算符计算两个或多个数值的乘积。
例如,使用乘法运算符可以计算2和3的乘积,即2*3=6。
四、除法运算符(/)除法运算符用于实现数值的相除操作。
在Matlab中,可以使用除法运算符计算两个数值的商。
例如,使用除法运算符可以计算6和2的商,即6/2=3。
五、取模运算符(mod)取模运算符用于计算两个数值相除后的余数。
在Matlab中,可以使用取模运算符计算两个数值相除的余数。
例如,使用取模运算符可以计算7除以3的余数,即7 mod 3=1。
六、指数运算符(^)指数运算符用于实现数值的乘方操作。
在Matlab中,可以使用指数运算符计算一个数的指定次幂。
例如,使用指数运算符可以计算2的3次幂,即2^3=8。
七、开方运算符(sqrt)开方运算符用于计算一个数的平方根。
在Matlab中,可以使用开方运算符计算一个数的平方根。
例如,使用开方运算符可以计算16的平方根,即sqrt(16)=4。
八、绝对值运算符(abs)绝对值运算符用于计算一个数的绝对值。
在Matlab中,可以使用绝对值运算符计算一个数的绝对值。
例如,使用绝对值运算符可以计算-5的绝对值,即abs(-5)=5。
九、取整运算符(floor)取整运算符用于将一个数向下取整为最接近的整数。
在Matlab中,可以使用取整运算符将一个数向下取整。
例如,使用取整运算符可以将3.8向下取整为最接近的整数,即floor(3.8)=3。
Matlab基本运算

2.1 变量和数据操作2.1.1 变量与赋值1.变量命名在MA TLA B 6.5中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。
在MA TLA B中,变量名区分字母的大小写。
2.赋值语句(1) 变量=表达式(2) 表达式其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。
2.1.2 预定义变量在MA TLA B工作空间中,还驻留几个由系统本身定义的变量。
例如,用pi表示圆周率π的近似值,用i,j表示虚数单位。
预定义变量有特定的含义,在使用时,应尽量避免对这些变量重新赋值。
2.1.3 内存变量的管理1.内存变量的删除与修改MATLAB工作空间窗口专门用于内存变量的管理。
在工作空间窗口中可以显示所有内存变量的属性。
当选中某些变量后,再单击Delete 按钮,就能删除这些变量。
当选中某些变量后,再单击Ope n按钮,将进入变量编辑器。
通过变量编辑器可以直接观察变量中的具体元素,也可修改变量中的具体元素。
clear命令用于删除M A TLA B工作空间中的变量。
w ho和wh os这两个命令用于显示在MAT LAB工作空间中已经驻留的变量名清单。
who 命令只显示出驻留变量的名称,whos在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。
2.内存变量文件利用MA T文件可以把当前MA TL AB工作空间中的一些有用变量长久地保留下来,扩展名是.mat。
MA T文件的生成和装入由save和load 命令来完成。
常用格式为:save 文件名[变量名表] [-append][-ascii]load 文件名[变量名表] [-ascii]其中,文件名可以带路径,但不需带扩展名.mat,命令隐含一定对.mat文件进行操作。
MATLAB_数值计算

b31 b32 b33
对于编程语言,矩阵就是二维的数组
2.1 MATLAB的基本计算
数学计算分为数值计算与符号计算,前者 不允许出现未定义变量,后者允许。(Eg 2-1) 常用的基本数学函数表。 (Eg 2-2)
Eg 2-1
三角函数
函数
sin sinh asin cos acos
说明
正弦函数 双曲正弦函数 反正弦函数 余弦函数 反余弦函数
MATLAB数值计算
2.1 MATLAB的基本计算 2.2 MATLAB矩阵和数组 2.3 关系和逻辑运算 2.4 多项式 2.5 稀疏矩阵 2.6 数据分析函数 2.7 数值分析
概述
在M语言中最常用的数据类型表现手段和形
式就是变量和常量
M语言的基本处理单位是数值矩阵或者数值
Eg 2-14 低维数组合成高维数组
建立3阶魔方及帕斯卡数组
将A、B串联成三维数组
cat(1,A,B)=[A;B]
cat(2,A,B)=[A,B]
>> A=eye(4) A= 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 >> A(:,:,2)=eye(4)*10; >> A(:,:,3)=eye(4)*100 A(:,:,1) = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 A(:,:,2) = 10 0 0 0 0 10 0 0 0 0 10 0 0 0 0 10 A(:,:,3) = 100 0 0 0 0 100 0 0 0 0 100 0 0 0 0 100
复数运算函数
函数
abs
பைடு நூலகம்
说明
求复数的模,若参数为实数则求绝对值
第二讲 Matlab的基本计算

>>a3=mat2str( a,2 ) %一行字符
字符串的应用:作出函数图形,并标注最大值点。 字符串的应用:作出函数图形,并标注最大值点。
y = e 2t sin(3t ) 0 ≤ t ≤ 10
clear %清除内存变量 t = 0 : 0.01 : 10; %时间 t 从 0 到 10 每隔 0.01 均匀采样 y = exp( -2*t ) .* sin( 3*t ); %对应每一个 t 求 y 值 %求最大值 y_max 及其下标 i_max [ y_max, i_max ] = max( y ); %横坐标字符串 t_text = [ 't = ', num2str( t(i_max) ) ]; %纵坐标字符串 y_text = [ 'y = ', num2str( y_max ) ]; %三行字符来标识最大值点 max_text = char( 'Maxium', t_text, y_text ); %图名称字符串 Title = [ 'y = exp( -2*t ) .* sin( 3*t )' ]; %新建一个图形窗 figure %画一条黑色的水平线 plot( t,zeros( size(t) ), 'k' ) %保持图形不被清除 hold on %蓝色实线画曲线 y(t) plot( t, y, 'b' ) %大小为 20 的红圆点标记最大值点 plot( t(i_max), y_max, 'r.', 'MarkerSize', 20 ) %在最大值点附近显示注释字符 text( t(i_max)+0.3, y_max+0.05, max_text ) %显示图名、横坐标名、纵坐标名 title( Title ); %取消图形保持 xlabel( 't' ) ylabel( 'y' ) hold off
matlab基础matlab数值运算

04
数值运算进阶
线性方程组求解
直接法
使用高斯消元法、LU分解等直接求解线性方程组的方法。
迭代法
使用如雅可比迭代、高斯-赛德尔迭代等迭代方法求解线性方程 组。
预处理技术
通过预处理手段改进直接法或迭代法的收敛速度和稳定性。
数值积分与微分
数值积分
使用如梯形法、辛普森法等数值积分方法计算 函数的积分值。
频谱分析
通过快速傅里叶变换等数值方法对信号进行频谱分析,提 取信号的频率成分和特征,用于音频、雷达、通信等领域。
信号压缩
利用数值方法对信号进行压缩编码,减小存储和传输成本, 用于音频、视频、遥感等领域。
在图像处理中的应用
图像增强
通过数值运算对图像进 行增强处理,提高图像 的对比度、清晰度等, 用于医学影像、安防监 控等领域。
数值微分
通过差分法计算函数的导数值,如前向差分、 后向差分和中心差分。
自动微分
利用Matlab的符号计算功能,自动求取函数的导数。
插值与拟合
一维插值
使用如拉格朗日插值、牛顿插值等一维插值方法。
多维插值
使用如样条插值、克里金插值等多维插值方法。
曲线拟合
通过最小二乘法等手段对数据进行曲线拟合。
数值优化
流体动力学模拟
通过数值方法求解流体动力学方程,模拟流体流动、传热等现象, 用于航空航天、流体机械等领域。
电磁场模拟
利用数值方法求解电磁场方程,模拟电磁波的传播、散射等现象, 用于雷达、通信、电磁兼容等领域。
在信号处理中的应用
信号滤波
利用数值运算对信号进行滤波处理,去除噪声、增强信号 特征,用于语音、图像、通信等领域。
图像去噪
利用数值方法对图像进 行去噪处理,去除图像 中的噪声和干扰,用于 遥感影像、医学影像等 领域。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MatLab & 数学建模第一讲简介及基本运算一、简介MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。
那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。
经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。
从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。
MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。
在时间进入20世纪九十年代的时候,MATLAB 已经成为国际控制界公认的标准计算软件。
在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。
这几乎成了九十年代教科书与旧版书籍的区别性标志。
在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。
在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。
在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。
在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。
如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。
又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各种硬卡、仪器等都接受MATLAB的支持。
MATLAB具有用法简易、可灵活运用、程式结构强又兼具延展性。
以下为其几个特色:∙功能强的数值运算 - 在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。
∙先进的资料视觉化功能 - MATLAB的物件导向图形架构让使用者可执行视觉数据分,并制作高品质的图形,完成科学性或工程性图文并茂的文章。
∙高阶但简单的程式环境 - 作为一种直译式的程式语言,MATLAB容许使用者在短时间内写完程式,所花的时间约为用 FORTRAN 或 C 的几分之一,而且不需要编译(compile)及联结 (link) 即能执行,同时包含了更多及更容易使用的内建功能。
∙开放及可延伸的架构 - MATLAB容许使用者接触它大多数的数学原使码,检视运算法,更改现存函数,甚至加入自己的函数使 MATLAB成为使用者所须要的环境。
∙丰富的程式工具箱 - MATLAB的程式工具箱融合了套装前软体的优点,与一个灵活的开放但容易操作之环境,这些工具箱提供了使用者在特别应用领域所需之许多函数。
现有工具箱有:符号运算(利用Maple V的计算核心执行)、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析。
二、MatLab界面MATLAB系统命令在MATLAB 系统中使用帮助方式有三:1. 是利用help 指令,如果你已知要找的题材 (topic) 为何的话,直接键入help<topic>。
所以即使身旁没有使用手册,也可以使用help 指令查询不熟悉的指令或是题材之用法,例如help sqrt2. 是利用lookfor 指令,它可以从你键入的关键字(key-word)(即使这个关键字并不是MATLAB 的指令)列出 所有相关的题材,例如lookfor cosine , lookfor sine 。
3. 是利用指令视窗的功能选单中的Help ,从中选取Table of Contents (目录)或是Index (索引)。
三、基本数学运算在MATLAB 下进行基本数学运算,只需将运算式直接打在提示号 >> 后面,并按入Enter 键即可。
MATLAB 将计算 的结果以ans 显示。
【例】求23)]47(212[÷-⨯+的算术运算结果。
(1)用键盘在MATLAB 指令窗中输入以下内容 >> (12+2*(7-4))/3^2(2)在上述表达式输入完成后,按【Enter 】键,该就指令被执行。
(3)在指令执行后,MATLAB 指令窗中将显示以下结果。
ans = 2我们也可给运算式的结果设定一个变量x : x = (5*2+1.3-0.8)*10^2/25x =42变量x的值可以在下个语句中调用:y= 2*x+1y =85变量命名规则:1.变量名的大小写是敏感。
2.变量的第一个字符必须为英文字母,而且不能超过31个字符。
3.变量名可以包含下连字符、数字,但不能为空格符、标点。
系统预定义的变量(而键入clear则是去除所有定义过的变量名称。
表达式MATLAB书写表达式的规则与“手写算式”差不多相同,但要求所有表达式都是以纯文本形式输入。
如果一个指令过长可以在结尾加上...(代表此行指令与下一行连续),例如:>> 1*2+3*4+5*6+7*8+9*10+11*12+...13*14+15*16ans =744若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例:y = 1034*22+3^5;若要显示变数y的值,直接键入y即可:>>yy =22991MATLAB会忽略所有在百分比符号(%)之後的文字,因此百分比之後的文字均可视为程式的注解(Comments)。
例:计算圆面积Area = ,半径r = 2,则可键入>> r=2;% 圆半径r = 2,>> area=pi*r^2; % 计算圆面积area>> area =12.5664MATLAB提供基本的算术运算有:加 (+)、减 (-)、乘 (*)、除 (/)、幂次方 (^),范例为:5+3, 5-3, 5*3, 5/3, 5^3MATLAB常用数学函数●三角函数和双曲函数●指数函数●复数函数●圆整函数和求余函数●矩阵变换函数其他函数例:>>y = sin(10)*exp(-0.3*4^2) y =-0.0045【例】复数ieziziz63212,21,43π=+=+=表达,及计算321zzzz=。
(1)经典教科书的直角坐标表示法z1= 3 + 4iz1 =3.0000 +4.0000i(2)采用运算符构成的直角坐标表示法和极坐标表示法z2 = 1 + 2 * i %运算符构成的直角坐标表示法z3=2*exp(i*pi/6) %运算符构成的极坐标表示法z=z1*z2/z3z2 =1.0000 +2.0000iz3 =1.7321 + 1.0000iz =0.3349 + 5.5801i【例】复数矩阵的生成及运算A=[1,3;2,4]-[5,8;6,9]*iB=[1+5i,2+6i;3+8*i,4+9*i] C=A*B A =1.0000 - 5.0000i 3.0000 - 8.0000i2.0000 - 6.0000i 4.0000 - 9.0000i B =1.0000 + 5.0000i2.0000 + 6.0000i3.0000 + 8.0000i4.0000 + 9.0000i C =1.0e+002 *0.9900 1.1600 - 0.0900i 1.1600 + 0.0900i 1.3700【例】求上例复数矩阵C 的实部、虚部、模和相角。
C_real=real(C) C_imag=imag(C)C_magnitude=abs(C)C_phase=angle(C)*180/pi %以度为单位计算相角 C_real = 99 116 116 137 C_imag = 0 -9 9 0 C_magnitude =99.0000 116.3486 116.3486 137.0000 C_phase =0 -4.4365 4.4365 0【例】指令行操作过程示例。
(1)若用户想计算51)3.0sin(21+=πy 的值,那末用户应依次键入以下字符y1=2*sin(0.3*pi)/(1+sqrt(5))(2)按【Enter 】键,该指令便被执行,并给出以下结果 y1 =0.5000若又想计算51)3.0cos(22+=πy ,可以简便地用操作键获得指令,具体办法是: 先用键调回已输入过的指令 y1=2*sin(0.3*pi)/(1+sqrt(5)) ;然后移动光标,把y1改成y2;把 sin 改成 cos 便可。
即得y2=2*cos(0.3*pi)/(1+sqrt(5)) y2 =0.3633注:设置精度值。
t = 2.8957e-007digits(8) %精确到小数点后8位 sym(t,'d')ans =.28957372e-6 四、阵列与矩阵MATLAB 的运算事实上是以阵列 (array) 及矩阵 (matrix) 方式在做运算.阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式.宣告一变量为阵列或是矩阵时,须用中括号[ ] 将元素置于其中。
阵列为一维元素所构成,而矩阵为多维元素所组成.例如: » x=[1 2 3 4 5 6 7 8] ;% 一维 1x8 阵列【例】简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。
(1)在键盘上输入下列内容:( 以 ; 区隔各列的元素)A = [1,2,3; 4,5,6; 7,8,9](2)按【Enter 】键,指令被执行。
(3)在指令执行后,MATLAB 指令窗中将显示以下结果: A =1 2 3 4 5 6 7 8 9【例】矩阵的分行输入 A=[1,2,3 4,5,6 7,8,9](以下是显示结果) A =1 2 3 4 5 67 8 9>>a=[1,4,6,8,10] %一维矩阵>>a(3) % a的第三个元素ans =6»x =[1 2 3 4 5 6 7 84 5 6 7 8 9 10 11]; %二维2x8 矩阵» x(3) % x的第三个元素ans =2» x([1 2 5]) % x的第一、二、五个元素ans =1 4 3>> x(2,3) % x的第二行第三列的元素ans =6x(1:5) % x的第前五个元素ans =1 42 5 3» x(10:end) % x的第十个元素后的元素ans =8 6 9 7 10 8 11» x(10:-1:2) % x的第十个元素和第二个元素的倒排ans =8 5 7 4 6 3 5 2 4» x(find(x>5)) % x中大于5的元素ans =6 7 8 6 9 7 10 8 11» x(4)=100 %给x的第四个元素重新给值x =1 2 3 4 5 6 7 84 100 6 7 8 9 10 11» x(3)=[] %删除第三个元素(不是二维数组)x =Columns 1 through 121 4 100 3 6 4 7 5 8 6 9 7Columns 13 through 1510 8 11» x(16)=1 %加入第十六个元素x =Columns 1 through 121 4 100 3 6 4 7 5 8 6 9 7Columns 13 through 1610 8 11 1当元素很多的时候,则须采用以下的方式:» x=(1:2.5:120); % 以:起始值=1,增量值=2,终止值=120的矩阵» x=linspace(0,1,100);% 利用linspace,以区隔起始值=0,终止值=1之间,元素数目=100»a=[]%空矩阵a =[]» zeros(2,2) %全为0的矩阵ans =0 000» ones(3,3) %全为1的矩阵ans =1 1 11 1 11 1 1» rand(2,4);%随机矩阵»a=1:7, b=1:0.2:5; %更直接的方式»c=[b a];%可利用先前建立的阵列 a 及阵列 b ,组成新阵列以下将阵列的运算符号及其意义列出,除了加减符号外其余的阵列运算符号均须多加. 符号。