MATLAB程序设计基础.ppt_第1页
MATLAB程序设计基础.ppt_第2页
MATLAB程序设计基础.ppt_第3页
MATLAB程序设计基础.ppt_第4页
MATLAB程序设计基础.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB程序设计基础 MATLAB的数值计算 Matlab的数据类型 o变量 变量不需要事先声明,也不需要指定变量类型,它会自动根据 所赋予变量的值或对变量的操作来确定变量的类型;赋值过程中, 如果变量已存在,则用新值代替旧值,以新的类型代替旧的类型。 变量的命名规则: l变量名区分大小写; l变量名长度不超过31位,第31位之后的字符被忽略; l变量名以字母开头,变量名中可以包含字母、数字、下划线 ,但不能使用标点。 变量一般为局部变量,即仅在其调用的M文件内部有效;若要定 义全局变量,须在变量前加关键字global。 o常量 matlab中预定义的一些特殊的量。 i,j 虚数单位Realmin 最小的正浮点数, pi 圆周率Realmax 最大的浮点数, eps 浮点运算的相对精度Inf 无穷大 NaN not a number ,不定值 例如: ?pi ans = 3.1416 ?1/0 Warning: Divide by zero. ans = Inf ?0/0 Warning: Divide by zero. ans = NaN o定义变量时应避免与常量名相同,如果改变了某个常量 的值,可以用clear命令来恢复。 ?pi=1 pi = 1 ?clear pi ?pi ans = 3.1416 o数字变量 l数字变量的运算 ?258*369 ans = 95202 ?x=258*369 x = 95202 ?1233 ans = 1860867 ?sqrt(ans) ans = 1.3641e+003 l数字的输入输出格式 缺省为实数保留小数点后 4位浮点数表示。 其输入格式与C语言一致: 如:9 -73 0.1999 1.475e6 输出格式由format命令控 制,只是影响屏幕显示效果 ,不影响内部存储和计算。 ?format long;pi ans = 3.14159265358979 ?format long e;pi ans = 3.141592653589793e+000 ?format long g;pi ans = 3.14159265358979 o字符串 l1、字符串的约定 字符串用单引号输入或赋值; 字符串的每个字符都是都是字符数组的一个元素; 字符串和字符数组基本上等价。 ?s=symbolic s = symbolic ?size(s) ans = 1 8 ?s(3) ans = m l字符串的转换 double 字符串转换为数值代码 num2str 数字转换为字符串 int2str 整数转换为字符串 mat2str 矩阵转换为字符串 str2num 转换字符串为数字 ?double(s) ans = 49 50 51 50 51 52 l字符串操作 strcat strcmp strvcat strncmp findstr upper lower blanks deblank l执行字符串 ?t=1/(a*b-1);a=2;b=3;c=eval(t) c = 0.2000 o结构型变量 由函数struct定义,以指针操作符“.”连接结构型变量名与属性名。 结构型变量名struct(元素名1,元素值1,元素名2,元素值2,) ?c=struct(c1,1,c2,1 2 3 4,c3,abcd) c = c1: 1 c2: 1 2 3 4 c3: abcd ?c.c2 ans = 1 2 3 4 ?c.c3 ans = abcd o单元型变量 单元型变量为任意类型的多维数组,其定义需用大括号,元素间用逗号隔开。 ?a=1,2;3,4 a = 1 2 3 4 ?b=1:4,a,abcd b = 1x4 double 2x2 double abcd ?cellplot(b) 单元型变量元素的引用采用大括号为下标标识,用小括号只 显示该元素的压缩形式。 ?b2 ans = 1 2 3 4 ?b(2) ans = 2x2 double o向量 向量元素用“”括起来,元素间用空格、逗号或分号分隔; 注意:空格和逗号分隔成行向量,分号分割成列向量。 l冒号表达式生成向量 基本格式:xx1:step:x2 xx1:x2 ?a=1:2:12 a = 1 3 5 7 9 11 ?a=12:-2:1 a = 12 10 8 6 4 2 ?a=1:6 a = 1 2 3 4 5 6 l线性等分向量生成 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 l对数等分向量生成 y=logspace(x1,x2)生成50维对数等分向量, y(1)=10x1 y(50)=10x2 y=logspace(x1,x2,n)生成n维对数等分向量 y(1)=10x1 y(n)=10x2 ?a=logspace(0,5,6) a = 1 10 100 1000 10000 100000 o向量的基本运算 l与数运算 a = 1.0000 20.8000 40.6000 60.4000 80.2000 100.0000 ?a-1 ans = 0 19.8000 39.6000 59.4000 79.2000 99.0000 ?a*2 ans = 2.0000 41.6000 81.2000 120.8000 160.4000 200.0000 l点积计算 指两个向量在其中一个向量方向上的投影的乘积。 dot(a,b) a,b必须同维。 ?a=1 2 3; ?b=3,4,5; ?dot(a,b) ans = 26 ?sum(a.*b) ans = 26 l叉积 表示过两相交向量的交点的垂直于两向量所在平面的向量。 cross(a,b) a,b必须为三维向量。 l混合积 ?c=cross(a,b) c = -2 4 -2 ?dot(a,cross(b,c) ans = 24 o矩阵 大型矩阵通借助M文件来输入。 ?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 6 7 8 9 a = 1 2 3 4 5 6 7 8 9 x=rand(1,5)%产生的均布随机数组 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); ones(m) 对角矩阵:对角元素向量 V=a1,a2,an A=diag(V) 随机矩阵:rand(m,n)产生一个mn的均匀分别的随机 矩阵 eye(2,3) ans= 1 0 0 0 1 0 zeros(2,3) ans= 0 0 0 0 0 0 ones(2,3) ans= 1 1 1 1 1 1 V=5 7 2; A=diag(V) A= 5 0 0 0 7 0 0 0 2 eye(2) ans= 1 0 0 1 zeros(2) ans= 0 0 0 0 ones(2) ans= 1 1 1 1 如果已知A为方 阵,则V=diag(A)可 以提取A的对角元 素构成向量V。 其他特殊矩阵 compan 友矩阵函数 magic 魔方矩阵 hankel Hankel矩阵 rosser 对称特征值测试矩阵 hilb Hilbert矩阵 pascal Pascal矩阵 invhilb 反Hilbert矩阵 vander 范德蒙矩阵 o矩阵的基本运算 l加减运算 要求两矩阵必须同阶。 ?a=1 2 3;2 3 4; 3 4 5; ?b=1 1 1;2 2 2;3 3 3; ?c=a+b c = 2 3 4 4 5 6 6 7 8 l乘法 要求a为ij阶, b为jk阶时,ab 才能相乘。 ?e=b,5 5 5 e = 1 1 1 5 2 2 2 5 3 3 3 5 ?f=a*e f = 14 14 14 30 20 20 20 45 26 26 26 60 l除法 左除“”: 相当于Ax=B的解,x=A-1B。 右除“/”:相当于xA=B的解,x=BA-1 A-1B=(BA-1)。 通常,右除稍快一些,而左除可以避免奇异性。 对于AxB,其中A为(nm)阶矩阵: n=m且非奇异时,方程为恰定方程; nm方程为超定方程; n大于gt =大于等于ge 4:6;7:9; ?x=5; ?y=ones(3)*5; ?xa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论