1:MATLAB及基本运算
- 格式:ppt
- 大小:175.00 KB
- 文档页数:60
实验一MATLAB运算基础一、实验目的1.熟悉启动和退出MATLAB的方法。
2.熟悉MATLAB命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握MATLAB各种表达式的书写规则以及常用函数的使用。
二、实验内容1.先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)z1=2sin85°1+e2(2)z2=12ln(x+1+x2),其中x=21+2i−0.455(3)z3=e0.3a−e−0.3a2sin(a+0.3)+ln0.3+a2,a=−3.0,−2.9,…,,2.9,3.0(4)z4=t2,t2-1,t2-2t+1,0≤t<11≤t<22≤t<3,其中t=0:0.5:2.5解:(1)z1=2*sin(85*pi/180)/(1+exp(1)*exp(1));(2)x=[2,1+2i;-0.45,5];z2=0.5*log(x+sqrt(1+x*x));(3)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); (4)t=0:0.5:2.5;z4=t.^2-(1-2.*t).*(t<3&t>=2)-(t<2&t>=1);运行结果:z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044iz3=Columns 1 through 270.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i0.7913 + 3.1416i 0.7822 + 3.1416i 0.7602 + 3.1416i0.7254 + 3.1416i 0.6784 + 3.1416i 0.6196 + 3.1416i0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416i0.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i-0.0771 + 3.1416i-0.2124 + 3.1416i -0.3566 + 3.1416i-0.5104 + 3.1416i -0.6752 + 3.1416i -0.8536 + 3.1416i-1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416i-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416iColumns 28 through 61-37.0245 -3.0017 -2.3085 -1.8971-1.5978 -1.3575 -1.1531 -0.9723 -0.8083 -0.6567 -0.5151 -0.3819-0.2561 -0.1374 -0.02550.07920.1766 0.2663 0.3478 0.42060.4841 0.5379 0.5815 0.61450.6366 0.6474 0.6470 0.63510.6119 0.5777 0.5327 0.47740.4126 0.3388z4 =Columns 1 through 60 0.2500 0 1.2500 7.0000 10.2500 使用情况:a 1x61 488 doublet 1x6 48 doublex 2x2 64 double complexz1 1x1 8 doublez2 2x2 64 double complexz3 1x61 976 double complexz4 1x6 48 double2.已知:A=1234−4347873657,B=13−12033−27求下列表达式的值:(1)A+6*B和A−B+I(其中I为单位矩阵)(2)A*B和A.*B(3)A^3和A.^3(4)A/B及A\B(5)[A,B]和[A([1,3],:);B^2]解:A=[12,34,-4;34,7,87;3,65,7];B=[1,3,-1;2,0,3;3,-2,7];I=eye(3);(1)A+6*B;A-B+I;(2)A*B;A.*B(3)A^3;A.^3;(4)A/B;A\B(5)[A,B];[A([1,3],:);B^2];运行结果:(1)ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1(2)ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49(3)ans =37226 233824 48604247370 149188 60076678688 454142 118820ans =1728 39304 -6439304 343 65850327 274625 343(4)ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000ans =-0.0313 0.3029 -0.33240.0442 -0.0323 0.10630.0317 -0.1158 0.1558(5)ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403.设有矩阵A和BA=12367811121349145101516171819202122232425, B=301617−699423713−411(1)求它们的乘积C。
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 常用知识1-向量运算
By D. J. Liu
向量定义
向量只有一行(行向量) 或一列(列向量)
1等差向量生成方法
(1) 冒号生成法
X=X0:D: Xn
X0: 第一个元素
D: 公差
Xn: 最后一个元素
(2) linspace函数生成法
X=linspace(X0, Xn, n)
X0: 第一个元素
Xn: 最后一个元素
n: 元素个数
2 n维向量定义
a = [a1, a2, … , an] (n维行向量)
a(1)=a1, a(1)=a1, …, a(n)=an
b = [b1, b2, … , bn]’(n维列向量)
b(1)=b1, b(1)=b1, …, b(n)=bn
3向量书写规则
(1)元素之间用逗号或空格分开生成行向量。
X = [1, 2, 3] 或X = [1 2 3]
(2)元素之间用分号隔开生成列向量。
X = [1; 2; 3] 或X = [1 2 3]’
向量运算函数
1 min(X)
求向量X所有元素的最小值
2 max(X)
求向量X所有元素的最大值
3 mean(X)
求向量X所有元素的平均值
4 sum(X)
求向量X所有元素的和
5 std(X)
求向量X所有元素的标准差
6 length(X)
求向量X元素的个数
7 sort(X)
将向量X所有元素按升序排列
8 cumsum(X)
将向量X所有元素进行累加
9 cumprod(X)
将向量X所有元素进行累乘
10 range(X)
求向量X中最大元素与最小元素的差值。
背出来,Matlab就无敌了一 matlab常用函数1、特殊变量与常数ans 计算结果的变量名computer 确定运行的计算机eps 浮点相对精度Inf 无穷大I 虚数单位inputname 输入参数名NaN 非数nargin 输入参数个数nargout 输出参数的数目pi 圆周率nargoutchk 有效的输出参数数目realmax 最大正浮点数realmin 最小正浮点数varargin 实际输入的参量varargout 实际返回的参量操作符与特殊字符+ 加 - 减*矩阵乘法 .* 数组乘(对应元素相乘)^ 矩阵幂 .^ 数组幂(各个元素求幂)\ 左除或反斜杠 / 右除或斜面杠。
/ 数组除(对应元素除)kron Kronecker张量积:冒号 () 圆括[] 方括。
小数点.。
父目录 .。
继续,逗号(分割多条命令) ; 分号(禁止结果显示)% 注释!感叹号 ' 转置或引用 = 赋值== 相等〈〉不等于& 逻辑与|逻辑或~逻辑非 xor 逻辑异或2、基本数学函数abs 绝对值和复数模长acos,acodh 反余弦,反双曲余弦acot,acoth 反余切,反双曲余切 acsc,acsch 反余割,反双曲余割 angle 相角asec,asech 反正割,反双曲正割secant 正切asin,asinh 反正弦,反双曲正弦 atan,atanh 反正切,双曲正切tangent 正切atan2 四象限反正切ceil 向着无穷大舍入complex 建立一个复数conj 复数配对cos,cosh 余弦,双曲余弦csc,csch 余切,双曲余切cot,coth 余切,双曲余切exp 指数fix 朝0方向取整floor 朝负无穷取整*** 最大公因数imag 复数值的虚部lcm 最小公倍数log 自然对数log2 以2为底的对数log10 常用对数mod 有符号的求余nchoosek 二项式系数和全部组合数real 复数的实部rem 相除后求余round 取整为最近的整数sec,sech 正割,双曲正割sign 符号数sin,sinh 正弦,双曲正弦sqrt 平方根 tan,tanh 正切,双曲正切3、基本矩阵和矩阵操作blkding 从输入参量建立块对角矩阵eye 单位矩阵linespace 产生线性间隔的向量logspace 产生对数间隔的向量numel 元素个数ones 产生全为1的数组rand 均匀颁随机数和数组randn 正态分布随机数和数组zeros 建立一个全0矩阵 colon) 等间隔向量cat 连接数组diag 对角矩阵和矩阵对角线fliplr 从左自右翻转矩阵flipud 从上到下翻转矩阵repmat 复制一个数组(完整word)MATLAB常用 reshape 改造矩阵roy90 矩阵翻转90度tril 矩阵的下三角triu 矩阵的上三角dot 向量点集cross 向量叉集ismember 检测一个集合的元素intersect 向量的交集 setxor 向量异或集 setdiff 向是的差集 union 向量的并集数值分析和傅立叶变换 cumprod 累积 cumsum 累加 cumtrapz 累计梯形法计算数值微分 factor 质因子 inpolygon 删除多边形区域内的点 max 最大值 mean 数组的均值 mediam 中值 min 最小值 perms 所有可能的转换 polyarea 多边形区域 primes 生成质数列表 prod 数组元素的乘积 rectint 矩形交集区域 sort 按升序排列矩阵元素 sortrows 按升序排列行 std 标准偏差 sum 求和 trapz 梯形数值积分 var 方差 del2 离散拉普拉斯 diff 差值和微分估计 gradient 数值梯度 cov 协方差矩阵 corrcoef 相关系数 conv2 二维卷积 conv 卷积和多项式乘法 filter IIR或FIR滤波器 deconv 反卷积和多项式除法 filter2 二维数字滤波器 cplxpair 将复数值分类为共轭对 fft 一维的快速傅立叶变换 fft2 二维快速傅立叶变换 fftshift 将FFT的DC分量移到频谱中心 ifft 一维快速反傅立叶变换 ifft2 二维傅立叶反变换 ifftn 多维快速傅立叶变换 ifftshift 反FFT偏移 nextpow2 最靠近的2的幂次 unwrap 校正相位角多项式与插值 conv 卷积和多项式乘法 roots 多项式的根 poly 具有设定根的多项式 polyder 多项式微分 polyeig 多项式的特征根 polyfit 多项式拟合 polyint 解析多项式积分 polyval 多项式求值 polyvalm 矩阵变量多项式求值 residue 部分分式展开 interp1 一维插值 interp2 二维插值 interp3 三维插值 interpft 使用FFT的一维插值 interpn 多维插值 meshgrid 为3维点生成x和y的网格 ndgrid 生成多维函数和插值的数组 pchip 分段3次Hermite插值多项式 ppval 分段多项式的值 spline 3次样条数据插值绘图函数 bar 竖直条图 barh 水平条图 hist 直方图 histc 直方图计数 hold 保持当前图形 loglog x,y对数坐标图 pie 饼状图 plot 绘二维图 polar 极坐标图 semilogy y轴对数坐标图 semilogx x轴对数坐标 subplot 绘制子图 bar3 数值3D竖条图 bar3h 水平3D条形图 comet3 3D慧星图 cylinder 圆柱体 fill3 填充的3D多边形 plot3 3维空间绘图 quiver3 3D震动(速度)图 slice 体积薄片图 sphere 球 stem3 绘制离散表面数据 wate***ll 绘制瀑布 trisurf 三角表面 clabel 增加轮廓标签到等高线图中 datetick 数据格式标记 grid 加网格线 gtext 用鼠标将文本放在2D图中 legend 图注 plotyy 左右边都绘Y轴 title 标题 xlabel X轴标签 ylabel Y轴标签 zlabel Z轴标签 contour 等高线图 contourc 等高线计算 contourf 填充的等高线图 hidden 网格线消影 meshc 连接网格/等高线 mesh 具有参考轴的3D网格 peaks 具有两个变量的采样函数 surf 3D阴影表面图 su***ce 建立表面低层对象 surfc 海浪和等高线的结合 surfl 具有光照的3D阴影表面 trimesh 三角网格图二 Matlab常用指令1、通用信息查询(General information)demo 演示程序 help 在线帮助指令 helpbrowser 超文本文档帮助信息 helpdesk 超文本文档帮助信息 helpwin 打开在线帮助窗 info MATLAB 和MathWorks 公司的信息 subscribe MATLAB 用户注册 ver MATLAB 和TOOLBOX 的版本信息 version MATLAB 版本 whatsnew 显示版本新特征2、工作空间管理(Managing the workspace)clear 从内存中清除变量和函数 exit 关闭MATLAB load 从磁盘中调入数据变量 pack 合并工作内存中的碎块 quit 退出MATLAB save 把内存变量存入磁盘 who 列出工作内存中的变量名 whos 列出工作内存中的变量细节 workspace 工作内存浏览器3 、管理指令和函数(Managing commands and functions)edit 矩阵编辑器 edit 打开M 文件 inmem 查看内存中的P 码文件 mex 创建MEX 文件 open 打开文件 pcode 生成P 码文件 type 显示文件内容 what 列出当前目录上的M、MAT、MEX 文件 which 确定指定函数和文件的位置4 、搜索路径的管理(Managing the seach patli)addpath 添加搜索路径 rmpath 从搜索路径中删除目录 path 控制MATLAB 的搜索路径 pathtool 修改搜索路径5、指令窗控制(Controlling the command window)beep 产生beep 声 echo 显示命令文件指令的切换开关 diary 储存MATLAB 指令窗操作内容 format 设置数据输出格式 more 命令窗口分页输出的控制开关6、操作系统指令(Operating system commands)cd 改变当前工作目录 computer 计算机类型 copyfile 文件拷贝 delete 删除文件 dir 列出的文件 dos 执行dos 指令并返还结果 getenv 给出环境值 ispc MATLAB 为PC(Windows)版本则为真 isunix MATLAB 为Unix 版本则为真 mkdir 创建目录 pwd 改变当前工作目录 unix 执行unix 指令并返还结果 vms 执行vms dcl 指令并返还结果 web 打开web 浏览器 ! 执行外部应用程序三 Matlab运算符和特殊算符1、算术运算符(Arithmetic operators)+ 加—减 * 矩阵乘 .*数组乘 ^ 矩阵乘方 .^ 数组乘方 \ 反斜杠或左除 / 斜杠或右除。
实验一、MATLAB基本操作一、基本操作1、命令窗口的简单使用(1)简单矩阵的输入(2)求[12+2×(7-4)]÷32的算术运算结果2、有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b?(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B?说明*与.*的运算特点A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1](3)设a=10,b=20;求i=a/b与j=a\b?a=10,b=20(4)设a=[1 -2 3;4 5 -4;5 -6 7];请设计出程序,分别找出小于0的矩阵元素及其位置。
(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?(6)请写出完成下列计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X(:)矩阵变为一维矩阵使用三元组方法,创建下列稀疏矩阵2 0 8 00 0 0 10 4 0 06 0 0 0(8)写出下列指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A >> D = A.^B C =3 9 27 D =1 32 7293、 已知⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。
二、运算基础1、 设有矩阵A 和B ,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;1617 18 19 20;21 22 23 24 25],B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]; 1) 求它们的乘积C2)将矩阵C的右下角3x2子矩阵赋给D2、完成下列操作1)求[100,999]之间能被61整除的数及其个数(提示:先利用冒号表达式,再利用find和length函数。
上机实验1:熟悉matlab基本操作实验目的:熟悉matlab的基本操作,掌握一些常用命令的用法。
实验内容:1.编写matlab命令(函数),可以完成以下任务:(1)matlab中的PI?(=Pi)大约等于?(2)如何使用sum命令?(3)函数max的作用?举例说明。
(4)命令help,lookfor,demo的用法?102? 5.Sin6(5)计算7.Tan62。
回答以下问题:(1)matlab是什么意思?(2)matlab命令who与whos有什么区别?(3)matlab命令clear与clc有什么区别?(4)命令:与linspace,logspace的区别?计算机实验2:矩阵运算与matlab命令实验目的:熟悉matlab矩阵运算命令。
实验内容:1.请直接在Matlab下输入以下常数,查看它们的值:(1)I,J,EPS(2)inf,Nan,PI(3)realmax(4)realmin2、使用lookfor指令,找出具有下列功能的matlab指令。
(1)求矩阵的大小(即行维度和列维度)(2)找出矩阵每一直行的最大值(3)对矩阵的每一直行进行排序(4)逆矩阵(inversematrix)的计算(5)求矩阵的rank几个常见的matlab命令:*zerooneseyelinspaceranddiag\\/detinveigrank计算机实验3:MATLAB程序设计实验目的:熟悉matlab程序控制结构,掌握用m文件或函数的编写方法。
实验内容:x2x6,x0且x??4?1、f(x)的定义如下:f(x)??x2?5x?6,0?x?10,x?2且x?3,写一个matlab函x2?十、1.其他人?数字func1实现该函数,并在区间[?10,15]内绘制该函数的图像。
2.编写一个matlab函数myfun M来计算以下方程式:y=0.5*exp(x/3)-x*x*sin(x)其中x是函数的输入,Y是函数的输出。