[精品论文]matlab课程设计-基于matlab的图像处理的基本运算内容摘要:

]来输入数组,也可以用以下提供的函数来生成矩阵。 ones( ) 创建一个所有元素都为 1的矩阵,其中可以制定维数 zeros() 创建一个所有元素都为 0的矩阵 eye() 创建对角元素为 1,其他元 素为 0的矩阵 diag() 根据向量创建对角矩阵,即以向量的元素为对角元素 magic() 创建魔方矩阵 rand() 创建随机矩阵,服从均匀分布 randn() 创建随机矩阵,服从正态分布 课件之家精心整理资料 欢迎你的欣赏 课件之家精心整 理资料 欢迎你的欣赏 randperm() 创建随机行向量 horcat C=[A,B],水平聚合矩阵,还可以用 cat(1,A,B) vercat C=[A。 B],垂直聚合矩阵 , 还可以用 cat(2,A,B) repmat(M,v,h) M在垂直方向上聚合 v次 水平方向上 聚合 h次 blkdiag( A, B) 以 A,和 B 为块创建块对角矩阵 length 返回矩阵最长维的的长度 ndims 返回维数 numel 返回矩阵元素个数 size 返回每一维的长度, [rows,cols]=size(A) reshape 重塑矩阵 rot90 旋转矩阵 90 度,逆时针方向 fliplr 沿垂 轴翻转矩阵 flipud 沿水平轴翻转矩阵 transpose 沿主对角线翻转矩阵 ctranspose 转置矩阵,也可用 A’或 A.’,这仅当矩阵为复数矩阵时才有区别 inv 矩阵的逆 det 矩阵的行列式值 trace 矩阵对角元素的和 norm 矩阵或矢量的范数, norm( a, 1), norm( a,Inf)„„ . normest 估计矩阵的最大范数矢量 chol 矩阵的 cholesky 分解 cholinc 不完全 cholesky 分解 lu LU 分解 luinc 不完全 LU 分解 qr 正交分解 kron( A, B) A 为 m n, B 为 p q,则生成 mp nq 的矩阵, A的每一个元素都会乘上 B,并占据 p q大小的空间 rank 求出矩阵的秩 pinv 求伪逆矩阵 多项式运算 多项式 Matlab 里面的多项式是以向量来表示的, 其具体操作函数如下: conv 多项式的乘法 deconv 多项式的除法,【 a, b】= deconv( s),返回商和余数 poly 求多项式的系数(由已知根求多项式的系数) polyeig 求多项式的特征值 课件之家精心整理资料 欢迎你的欣赏 课件之家精心整 理资料 欢迎你的欣赏 Polyfit( x, y, n) 多项式的曲线拟合, x, y为被拟合的向量, n为拟合多 项式阶数 polyder 求多项式的一阶导数, polyder( a, b)返回 ab的导数 [a,b]= polyder( a, b)返回 a/b 的导数。 polyint 多项式的积分 polyval 求多项式的值 polyvalm 以矩阵为变量求多项式的值 residue 部分分式展开式 roots 求多项式的根(返回所有根组成的武汉理工大学《 Matlab 课程设计》说明书 课件之家精心整 理资料 欢迎你的欣赏 3. matlab 基本运算 基础微积分计算 微积分的计算可以说是数学的基础,关于基础的微机分计算主要有求函数的极限,微分运 算,积分运算,级数的计算,代数的求解,以及常微分方程的求解,下面分别介绍。 极限的基本运算 MATLAB 中极限函数 limit 格式如下: limit(F,x,a) ; limit(F,a); limit(F); limit(F,x,a,39。 right39。 );limit(F,x,a,39。 left39。 ) 其中 F表示的是函数式, x 表示求极限的变量, a表示的是变量取的值, left 或right 表示是取左极限还是右极限。 例 : 求2201)ln(lim yx ex yyx ; 分析:这是一个典型的求极限的题目,题目中涉及了两个变 量,故在程序开始应该先定义两个变量,然后直接利用函数 limit 编程计算。 示例程序如下: syms x y limit(limit(log(x+exp(y))/sqrt(x*x+y*y),x,1),y,0) 运行结果如下: 武汉理工大学《 Matlab 课程设计》说明书 课件之家精心整 理资料 欢迎你的欣赏 微分的计算 MATLAB 中微分函数 diff 格式如下: Y = diff(X); Y = diff(X,n); Y = diff(X,n,dim) 其中 X表示待微分的变量, n表示 n 次微分,第三式表示沿着定维 dim 的 n阶微分。 例 : 求 y 23 sin(4x+2)的微分。 分析:微分运算能直观的显示函数值的变化快慢,在平时计算中常常反映变量的变化对函数值的影响大小这是一个简单的一阶微分式子 ,可以直接写定义变量然后求结果。 示例程序如下: syms x y dy y=sqrt(3)/2*sin(4*x+2) dy=diff(y) 运行结果如下: 积分的计算 MATLAB 中积分常用函数为 int,格式如下: int(f,x,a,b) 其中 f 表示待积分的函数, x 表 示积分变量,而 a, b 则分别表示积分起始终止点。 例: 求下列变上限积分  2 1xxdxx 分析:积分运算大量运用于求面积体积等,此处选用的是一个变上限积分,武汉理工大学《 Matlab 课程设计》说明书 课件之家精心整 理资料 欢迎你的欣赏 属于有些典型的积分例子,但任然是根据函数格式就可以写出程序。 示例程序如下: syms k x y=(1+k)^(1/2) f=int(y,k,x,x^2) 运行结果如下: 级数的计算 MATLAB 中级数常用函数为 symsum,格式如下: r = symsum(s); r = symsum(s,v); r = symsum(s,a,b); r = symsum(s,v,a,b) 函数表达的意义是表达式 s 关于变量 v从 a到 b求和。 例: 计算级数 .11 2n n 的值 , 分析:对于级数我们最先接触的就是常数项无穷级数,因为技术结果一般较复杂,所以用 simple 求解最简形式 , 其中还用到 Inf 为无穷大。 示例程序如下: syms k simple(symsum(1/k^2,1,Inf)) %simple 求解最简形式 ,Inf 为无穷大 运行结果如下: 求解代数微分方程 代数方程分为很多种,有简单有复杂 ,方法也有很多。 一般多项式方程的根武汉理工大学《 Matlab 课程设计》说明书 课件之家精心整 理资料 欢迎你的欣赏 可为实数,也可为复数, 可用 MATLAB 符号工具箱中的 solve( )函数 , MATLAB中求解代数方程常用函数 solve 格式如下: [x,„ ]=solve(eqn1,eqn2,„ ,eqnn,’ x,„’ ) 其中 eqn 表示的是式子, x 等表示的是变量。 例 :求解方程组 3x+2=20 分析:为了计算的简单,同时为了避免需要验证的麻烦,这里选用了基础的一元一次方程,直接用语句描述即可。 示例程序如下: Syms x [x]=solve(‘3*x+2=20’ ,’x’) 运行结果如下 : 求解常微分方程 未知的函数以及它的某些阶的导数连同自变量都由一已知方程联系在一起的方程称为微分方程。 如果未知函数是一元函数,称为常微分方程。 MATLAB 中主要用 dsolve 求符号解析解。 dsolve 的基本格式是: s=dsolve(‘方程 1’ , ‘方程 2’ ,„ ,’初始条件 1’,’初始条件 2’ „ ,’自变量’ ) 例 : 求解微分方程 ,1)0(,139。  ytyy 求解析解。 分析:求解此微分方程的解析解直接采用 dsolve 即可。 Dsolve 示例程序如下 : 武汉理工大学《 Matlab 课程设计》说明书 课件之家精心整 理资料 欢迎你的欣赏 syms y t %定义变量 s=dsolve(39。 dy=y+t+139。 ,39。 y(0)=139。 ,39。 t39。 ) %程序主体部分 simplify(s)%化简函数 运行结果如下: 矩阵的基本运算 矩阵计算是线性代数中的核心内容,其对于整个数学系统的计算方面的意义是十分巨大的,集中它的基本运算包括最大值、最小值、均值、方差、转置、逆、行列式、特征值的计算、矩阵的相乘、右除、左除、幂运算等等,下面将具体介绍。 矩阵的运算都是要以矩阵为基础的,本报告中决定选用一组矩阵来完成几乎全部可以完成的计算,那么首先就得生成矩阵了。 矩阵的定义和分配可以 有多种方法。 最简 单的方法是有方括号 []包围的逐行给定元素。 若定义一个标量,则方括号就不需要了。 相同行中的元素是由一行或多个空格 ‘’ 或一个逗号 ‘ , ’ 分隔,列由分号 ‘。 ’ 或回车键分隔。 没有结尾分号的每个命令在屏幕上显示出其结果。 若结尾带分号,就执行计算,但计算结果并不显示。 如定义 3 3矩阵如下: 987654321A  13519661291B 则在命令窗口输入: A=[1 2 3。 4 5 6。 7 8 9] 武汉理工大学《 Matlab 课程设计》说明书 课件之家精心整 理资料 欢迎你的欣赏 屏幕显示结果为: 同上依次输入: B=[1 9 12。 6 6 9。 1 5 13] 就可以得到 B矩阵(如下)。 矩阵的最大最小值 MATLAB 中 max 函数可以表示求每一列的最大值,那么经过分析可以知道,先求出每一列的最大值然后求出这些最大值里面的最大值,下面以 A 矩阵为例。 示例程序如下: y=max(A), x=max(y) 运行结果如下: 对比 A中数值发现结果是正确的。 MATLAB 中求最小值的函数为 min,求解思路与求最大值思路类似,仍然以矩武汉理工大学《 Matlab 课程设计》说明书 课件之家精心整 理资料 欢迎你的欣赏 阵 A 为例。 示例程序如下: y=min(A), x=min(y) 运行结果如下: 对比 A中 数值发现结果是正确的。 矩阵的均值方差 MATLAB 中求解矩阵均值的函数是 mean,它的具体用法如下: mean(A,1)表示对列取平均, mean(A,2)表示对行取平均, mean(A)则默认为 mean(A,1)。 下面以矩阵 B 分别举例,程序示例如下: a=mean(B),b=mean(B,2) 运行结果如下: 武汉理工大学《 Matlab 课程设计》说明书 课件之家精心整 理资料 欢迎你的欣赏 观察可知, a, b分别显示出了矩阵行列的均值。 如果想求矩阵的均值可以进行 2次操作。 示例程序如下: c=mean( a) 运行结果如下: 可以观察到 c 的值就是矩阵 b所有值的均值。 MATLAB 中求解矩阵方差的函数是 var,它的常用格式是 V = var(X), 如果 X是一个矩阵, var(X)返回一个包含矩阵 X 每一列方差的行向量。 下面还是以矩阵 B 来示例,程序如下: var(B) d=var(var(B)) 运行结果如下: 矩阵的转置 矩阵的一个重要的运算是转置,如果 A是一个实数矩阵,那么它被转置时,第 1 行变成第 1 列,第 2 行变成第 2 列,依此类推,一个 m n 矩阵变为一个 n m 矩阵。 如果矩阵是方阵,那么这个矩阵在主对角线反映出来。 MAT。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。