MATLAB程序设计基础.ppt
《MATLAB程序设计基础.ppt》由会员分享,可在线阅读,更多相关《MATLAB程序设计基础.ppt(60页珍藏版)》请在三一办公上搜索。
1、MATLAB程序设计基础,MATLAB的数值计算,Matlab的数据类型,变量 变量不需要事先声明,也不需要指定变量类型,它会自动根据所赋予变量的值或对变量的操作来确定变量的类型;赋值过程中,如果变量已存在,则用新值代替旧值,以新的类型代替旧的类型。变量的命名规则:变量名区分大小写;变量名长度不超过31位,第31位之后的字符被忽略;变量名以字母开头,变量名中可以包含字母、数字、下划线,但不能使用标点。变量一般为局部变量,即仅在其调用的M文件内部有效;若要定义全局变量,须在变量前加关键字global。,常量 matlab中预定义的一些特殊的量。i,j 虚数单位Realmin 最小的正浮点数,pi
2、 圆周率Realmax 最大的浮点数,eps 浮点运算的相对精度Inf 无穷大 NaN not a number,不定值 例如:?pians=3.1416,?1/0Warning:Divide by zero.ans=Inf?0/0Warning:Divide by zero.ans=NaN,定义变量时应避免与常量名相同,如果改变了某个常量的值,可以用clear命令来恢复。,?pi=1pi=1?clear pi?pians=3.1416,数字变量数字变量的运算,?258*369ans=95202,?x=258*369x=95202,?1233ans=1860867,?sqrt(ans)ans=
3、1.3641e+003,数字的输入输出格式 缺省为实数保留小数点后4位浮点数表示。其输入格式与C语言一致:如:9-73 0.1999 1.475e6 输出格式由format命令控制,只是影响屏幕显示效果,不影响内部存储和计算。,?format long;pians=?format long e;pians=?format long g;pians=,字符串1、字符串的约定字符串用单引号输入或赋值;字符串的每个字符都是都是字符数组的一个元素;字符串和字符数组基本上等价。,?s=symbolics=symbolic,?size(s)ans=1 8,?s(3)ans=m,字符串的转换 double
4、字符串转换为数值代码 num2str 数字转换为字符串 int2str 整数转换为字符串 mat2str 矩阵转换为字符串 str2num 转换字符串为数字,?double(s)ans=49 50 51 50 51 52,字符串操作 strcat strcmp strvcat strncmp findstr upper lower blanks deblank 执行字符串,?t=1/(a*b-1);a=2;b=3;c=eval(t)c=0.2000,结构型变量 由函数struct定义,以指针操作符“.”连接结构型变量名与属性名。结构型变量名struct(元素名1,元素值1,元素名2,元素值2,
5、),?c=struct(c1,1,c2,1 2 3 4,c3,abcd)c=c1:1 c2:1 2 3 4 c3:abcd?c.c2ans=1 2 3 4?c.c3ans=abcd,单元型变量 单元型变量为任意类型的多维数组,其定义需用大括号,元素间用逗号隔开。,?a=1,2;3,4a=1 2 3 4?b=1:4,a,abcdb=1x4 double 2x2 double abcd?cellplot(b),单元型变量元素的引用采用大括号为下标标识,用小括号只显示该元素的压缩形式。,?b2ans=1 2 3 4?b(2)ans=2x2 double,向量 向量元素用“”括起来,元素间用空格、逗号
6、或分号分隔;注意:空格和逗号分隔成行向量,分号分割成列向量。冒号表达式生成向量 基本格式:xx1:step:x2 xx1:x2,?a=1:2:12a=1 3 5 7 9 11?a=12:-2:1a=12 10 8 6 4 2?a=1:6a=1 2 3 4 5 6,线性等分向量生成 y=linspace(x1,x2)生成100维行向量 y=linspace(x1,x2,n)生成n维行向量,?a=linspace(1,100,6)a=1.0000 20.8000 40.6000 60.4000 80.2000 100.0000,对数等分向量生成 y=logspace(x1,x2)生成50维对数等分
7、向量,y(1)=10 x1 y(50)=10 x2 y=logspace(x1,x2,n)生成n维对数等分向量y(1)=10 x1 y(n)=10 x2,?a=logspace(0,5,6)a=1 10 100 1000 10000 100000,向量的基本运算与数运算,a=1.0000 20.8000 40.6000 60.4000 80.2000 100.0000?a-1ans=0 19.8000 39.6000 59.4000 79.2000 99.0000?a*2ans=2.0000 41.6000 81.2000 120.8000 160.4000 200.0000,点积计算 指两个
8、向量在其中一个向量方向上的投影的乘积。dot(a,b)a,b必须同维。,?a=1 2 3;?b=3,4,5;?dot(a,b)ans=26?sum(a.*b)ans=26,叉积 表示过两相交向量的交点的垂直于两向量所在平面的向量。cross(a,b)a,b必须为三维向量。混合积,?c=cross(a,b)c=-2 4-2?dot(a,cross(b,c)ans=24,矩阵大型矩阵通借助M文件来输入。,?A=1,2,3;4,5,6;7,8,9A=1 2 3 4 5 6 7 8 9,?a=1 2 34 5 67 8 9a=1 2 3 4 5 6 7 8 9,x=rand(1,5)%产生的均布随机数
9、组 x=0.9501 0.2311 0.6068 0.4860 0.8913 x(3)%寻访数组x的第三个元素。ans=0.6068 x(1 2 5)%寻访数组x的第一、二、五个元素组成的子数组。ans=0.9501 0.2311 0.8913 x(1:3)%寻访前三个元素组成的子数组 ans=0.9501 0.2311 0.6068 x(3:end)%寻访除前2个元素外的全部其他元素。end是最后一个元素的下标。ans=0.6068 0.4860 0.8913,常用的特殊矩阵单位矩阵:eye(m,n);eye(m)零 矩 阵:zeros(m,n);zeros(m)一 矩 阵:ones(m,n
10、);ones(m)对角矩阵:对角元素向量 V=a1,a2,an A=diag(V)随机矩阵:rand(m,n)产生一个mn的均匀分别的随机矩阵,eye(2,3)ans=1 0 0 0 1 0zeros(2,3)ans=0 0 0 0 0 0ones(2,3)ans=1 1 1 1 1 1V=5 7 2;A=diag(V)A=5 0 0 0 7 0 0 0 2,eye(2)ans=1 0 0 1zeros(2)ans=0 0 0 0ones(2)ans=1 1 1 1,如果已知A为方阵,则V=diag(A)可以提取A的对角元素构成向量V。,其他特殊矩阵 compan 友矩阵函数 magic 魔方
11、矩阵 hankel Hankel矩阵 rosser 对称特征值测试矩阵 hilb Hilbert矩阵 pascal Pascal矩阵 invhilb 反Hilbert矩阵 vander 范德蒙矩阵,矩阵的基本运算加减运算 要求两矩阵必须同阶。,?a=1 2 3;2 3 4;3 4 5;?b=1 1 1;2 2 2;3 3 3;?c=a+bc=2 3 4 4 5 6 6 7 8,乘法 要求a为ij阶,b为jk阶时,ab才能相乘。,?e=b,5 5 5e=1 1 1 5 2 2 2 5 3 3 3 5?f=a*ef=14 14 14 30 20 20 20 45 26 26 26 60,除法左除“
12、”:相当于Ax=B的解,x=A-1B。右除“/”:相当于xA=B的解,x=BA-1 A-1B=(BA-1)。通常,右除稍快一些,而左除可以避免奇异性。对于AxB,其中A为(nm)阶矩阵:n=m且非奇异时,方程为恰定方程;nm方程为超定方程;nm 方程为欠定方程。,?A=1 2 3;4 5 6;7 8 0;1 3 5;?B=1 3 5;2 4 6;?A/Bans=0 0.5000-3.0000 3.5000-12.0000 10.2500 1.0000 0.0000,?(BA)ans=0 0.5000-3.0000 3.5000-12.0000 10.2500 1.0000 0.0000,矩阵与
13、常数的运算 常数与此矩阵的各元素之间进行运算。注意:进行数除时,常数通常只能做除数。矩阵的逆运算 函数 inv,?A=2 1-3-1;3 1 0 7;-1 2 4-2;1 0-1 5;?inv(A)ans=-0.0471 0.5882-0.2706-0.9412 0.3882-0.3529 0.4824 0.7647-0.2235 0.2941-0.0353-0.4706-0.0353-0.0588 0.0471 0.2941,矩阵的行列式运算 函数 det,?A=2 1-3-1;3 1 0 7;-1 2 4-2;1 0-1 5;?a1=det(A)a1=-85?a2=det(inv(A)a2
14、=-0.0118?a1*a2ans=1,矩阵的幂运算 与数字的幂运算形式相同,用“”算符。矩阵的指数运算 常用函数 expm expm1 expm2 expm3矩阵的对数运算 函数 logm矩阵的开方运算 函数 sqrtm,?b=magic(3)b=8 1 6 3 5 7 4 9 2?sqrtm(b)ans=2.7065+0.0601i 0.0185+0.5347i 1.1480-0.5948i 0.4703+0.0829i 2.0288+0.7378i 1.3739-0.8207i 0.6962-0.1430i 1.8257-1.2725i 1.3511+1.4155i?b0.5ans=2.
15、7065+0.0601i 0.0185+0.5347i 1.1480-0.5948i 0.4703+0.0829i 2.0288+0.7378i 1.3739-0.8207i 0.6962-0.1430i 1.8257-1.2725i 1.3511+1.4155i,矩阵的基本函数运算特征值函数 函数 x,y=eig(A)可以给出特征值和特征向量的值 x为特征向量矩阵,y为特征值矩阵。,?A=7 3-2;3 4-1;-2-1 3;?x,y=eig(A)x=0.5774 0.0988-0.8105-0.5774-0.6525-0.4908 0.5774-0.7513 0.3197,y=2.0000
16、 0 0 0 2.3944 0 0 0 9.6056,奇异值函数 函数 svd svds矩阵翻转 函数 fliplr flipud rot90,a=7 3-2 3 4-1-2-1 3?fliplr(a)ans=-2 3 7-1 4 3 3-1-2,?flipud(a)ans=-2-1 3 3 4-1 7 3-2?rot90(a)ans=-2-1 3 3 4-1 7 3-2,范数函数 函数 norm(X,P)P1 1范数 P2 2范数 Pinf 无穷范数 Pfro F范数 norm(X)norm(X,2)秩函数 函数 rank,e=1 1 1 5 2 2 2 2 3 3 3 5,?rank(e)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 程序设计 基础

链接地址:https://www.31ppt.com/p-5439222.html