第1章 MATLAB基础知识与编程方法.pdf
《第1章 MATLAB基础知识与编程方法.pdf》由会员分享,可在线阅读,更多相关《第1章 MATLAB基础知识与编程方法.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1 章 MATLAB 基础知识与编程方法第 1 章 MATLAB 基础知识与编程方法 第 1 章 MATLAB 基础知识与编程方法 第 1 章 MATLAB 基础知识与编程方法 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 本章主要介绍与 MATLAB 编程相关的一些基础知识.1.1 MATLAB 快速入门 启动 MATLAB 软件后,得到如图 1-1 画面:工作路径 设置工作路径 工作空间中 变量
2、名窗口 工作空间或MATLAB命令窗口 历史命令窗口 图 1-1 在工作空间或 MATLAB 命令窗口中输入 MATLAB 认可的任何命令,按回车键都可执行其操作.如“3+5”、“3-5”、“3*5”、“3/5”、“3/5+1”、“3/(5+1)”、“3/5*2”、“3/(5*2)”、“exp(1)”、“sin(3.1415)”等按回车键后可显示其结果.记录内存变量名窗口及记录历史命令窗口等可通过菜单栏中 view 下拉菜单中Workspace 及 Command History 等命令显示或隐藏.命令 clc 清出 MATLAB 命令窗口中所有内容;命令 clear 清出工作空间中所有变量;
3、命令 clear x 清出工作空间中变量 x.要想知道某个命令的用法,可以用 help.例如:help plot可得到绘图命令 plot 的用法.百分号%后所有的文字为注释,注释语句不能执行.在 PC 机上运行时,可以随时按下 CTRL+C 键中断 MATLAB 的运行.1.2 变量、数据与函数 1.2.1 变量 像任何其它计算机语言一样,MATLAB 也有变量命名规则.变量名必须是不含有空格 1第 1 章 MATLAB 基础知识与编程方法第 1 章 MATLAB 基础知识与编程方法 的单个词.变量命名规则(基本上同 C 语言)如下:变量名区分字母大小写,如 ltems,items,itEms
4、 及 ITEMS 都是不同的变量.MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLAB5.3 以下的版本变量名最多不超过 19 个字符.第 19 个字符之后的字符将被忽略,如 howaboutthisvariablename 只能表示为 howaboutthisvariabl.变量名必须以字母打头,之后可以是任意字母、数字或下划线,如 x1,x2,a_b_c.标点符号在 MATLAB 中具有特殊含
5、义,所以变量名中不允许使用标点符号.除了这些命名规则,MATLAB 还有几个特殊变量.表 1.1 特殊变量表 特殊变量 取值或说明 备注 ans 用于结果的缺省变量名 Inf 无穷大,如 1/0 NaN 不定量,如 0/0 pi 圆周率 eps 计算机的最小数,当和 1 相加就产生一个比 1 大的数 flops 浮点运算数 i(和)j i2=j2=1 nargin 所有函数的输入变量数目 nargout 所有函数的输出变量数目 realmin 最小可用正实数 realmax 最大可用正实数 表 1.1 中的特殊变量在启动 MATLAB 之后,自动赋予表中取值.如果定义了相同名字的变量,原始特殊
6、取值将会丢失,直到清除所有变量或重新启动 MATLAB.一般来讲,应当尽量避免重新定义特殊变量,特别是备注中打“”变量.1.2.2 数据建立 MATLAB 中的数据变量无需申明其变量类型,这是它与 C 语言的区别之一.例如,键入 a=7-5,x=1,2,3;y=1,2,3;4,5,6,c=1 2 3,d=1 2 3;4 5 6;可建立单一变量 a,一维数组 x,c,二维数组 y,d;并在 MATLAB 命令窗口中显示 a=2 y=1 2 3 4 5 6 c=1 2 3 多条命令可以放在同一行,中间用逗号或分号隔开.逗号要求显示结果,分号禁止显示结果.没有显示 x,d,是因为该命令是以分号“;”
7、结束的.若要知道某个变量或数组的内容,2第 1 章 MATLAB 基础知识与编程方法第 1 章 MATLAB 基础知识与编程方法 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 在 MATLAB 命令窗口中键入变量或数组名回车即可.在数组的输入方式上,x 和 c 一样,y和 d 一样.内的“;”表示换行,直接换行也可.如将 Word 文当中一个 4 行 5 列的数据可拷贝到“A=”中的 内,则 A 表示一
8、个 4 行 5 列的二维数组.在 MATLAB 中,一维数组 x 中第 k 个元素用 x(k)访问,二维数组 A 中第 i 行第 j 列元素用 A(i,j)访问,这与 C 语言是有区别的.同样是一维数组,在 MATLAB 中一维行向量和一维列向量是不同的.等步长一维数组产生方法,如键入 x=1:0.5:4,y=1:4,z=4:2 显示 x=1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 y=1 2 3 4 z=在命令 x=1:0.5:4 中的 0.5 表示步长,缺省时步长为 1.三维以上数组可通过一系列相同维数的低维数组表示.1.2.3 常用数
9、学函数 MATLAB 所支持的常用数学函数见表 1.2.注意,MATLAB 只对孤度操作.表 1.2 常用数学函数 命令 说明 命令 说明 abs(x)绝对值 floor(x)对-方向取整数 acos(x)反余弦 gcd(x,y)整数 x 和 y 的最大公约数 acosh(x)反双曲余弦 lcm(x,y)整数 x 和 y 的最小公倍数 asin(x)反正弦 log(x)自然对数 asinh(x)反双曲正弦 log10(x)常用对数 atan(x)反正切 rem(x,y)除后余数;返回 x/y 的余数 atanh(x)反双曲正切 round(x)四舍五入到最接近的整数 ceil(x)对+方向取整
10、数sin(x)正弦 cos(x)余弦 sinh(x)双曲正弦 cosh(x)双曲余弦 sqrt(x)平方根 exp(x)指数函数extan(x)正切 fix(x)对零方向取整数 tanh(x)双曲正切 1.3 数组或矩阵运算 由于数组和矩阵的含义有一样,因此,所有有关矩阵的运算都可以用于数组运算,今后不再区分数组与矩阵.3第 1 章 MATLAB 基础知识与编程方法第 1 章 MATLAB 基础知识与编程方法 1.3.1 矩阵块操作 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件
11、开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLAB 中提供了很多简便、智能的方式,可以对矩阵进行元素更改、插入子块、提取子块、重排子块、扩大维数等操作.这里,重要的是冒号“:”的应用.在 MATLAB 中,冒号“:”表示“全部”.如已知 a=1 2 3 4 5 6 b=7 8 9 若键入 a(1,:)=b%将 a 的第 1 行中所有元素用 b 的元素替代 a(:,2)=0%将 a 的第 1 列中所有元素换成 0 则显示 a=7 8 9 4 5 6 a=7 0 9 4 0 6 若再键入 a(2,6)=10%第 2 行第 6 列元素等于 10 显示 a=7
12、0 9 0 0 0 4 0 6 0 0 10 MATLAB 已定义的矩阵的维数可以扩大,但不能缩小,除非利用 clear 命令删除该矩阵.如果输入的同名矩阵的维数小于原矩阵维数,MATLAB 认为是原矩阵修改了部分元素或子块.增加矩阵的维数时,可以只给出非零元素,MATLAB 自动将未定义元素改为 0.1.3.2 矩阵与标量的四则运算 运算包括、运算,矩阵和标量运算完成矩阵的每个元素对该标量的运算.如已知 4第 1 章 MATLAB 基础知识与编程方法第 1 章 MATLAB 基础知识与编程方法 a=1 2 3 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLS
13、B 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 4 5 6 则有 a+1=2 3 4 5 6 7 a*2=2 4 6 8 10 12 a/2=0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 1.3.3 矩阵与矩阵间的运算 矩阵 A 和 B 维数完全相同时,可以进行矩阵加减法运算.它会自动地使得 A 和 B 矩阵的相应元素相加减.如果 A 和 B 的维数不相等,则 MATLAB 将自动地给出错误信息,提示两个矩阵的维数不相等.两个矩阵 A,B 的维数相
14、容时(A 的列数等于 B 的行数),可以进行 C=AB 的运算.MATLAB 中还定义了一种特殊的运算,即所谓的点运算.当两个矩阵维数完全相同时,可以进行点运算,两个矩阵之间的点运算是该矩阵对应元素的直接运算.例如,已知 A,B矩阵 a=1 2 3 4 b=5 6 7 8 则有 a*b=19 22 43 50 a.*b=5 12 21 32 5第 1 章 MATLAB 基础知识与编程方法第 1 章 MATLAB 基础知识与编程方法 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开
15、发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 可以看出,这两种乘积结果是不同的.前者是普通矩阵乘积,而后者是两个矩阵对应元素之间的乘积.在进行矩阵的点运算时,要求运算的两个矩阵的维数一致,其实一些特殊的矩阵函数,如B=sin(A)也是由点运算的形式来进行的,因为它要对矩阵的每个元素求取正弦值(bij=sin(aij).1.3.4 产生特殊矩阵的函数 MATLAB 定义了一些特殊矩阵,不必一一赋值定义.特殊矩阵定义见表 1.3.表 1.3 特殊矩阵 命令 说明 A=空矩阵 A=eye(n)n 维单位矩阵 A=ones(m,n)全部元素都为 1 的 m 行 n 列矩阵
16、 A=rand(m,n)元素服从 0 和 1 之间均匀分布的随机矩阵 A=randn(m,n)元素服从零均值单位方差正态分布的随机矩阵 A=zeros(m,n)全部元素都为 0 的矩阵 1.3.5 矩阵的其它相关操作 MATLAB 具有矩阵大小的查询功能.查询矩阵的大小可以用m,n=size(A)命令,返回 A矩阵的行数 m 和列数 n;还可以用 n=length(A)命令,返回 A 矩阵的行数和列数中的最大值n.矩阵的转置用 A 表示.1.4 逻辑运算与控制语句 除了传统的数学运算,MATLAB 还支持关系和逻辑运算,目的是提供求解真假命题的答案.对于所有关系和逻辑表达式的输入,MTLAB
17、把任何非零数值当做真,把零当做假.而对于所有关系和逻辑表达式的结果为真时输出 1,假时输出 0.控制语句包括循环与条件语句.它们决定了运算过程和路径,因此被称为控制语句.循环和条件语句包含在每一种可以用于进行科学计算的计算机语言中.它们更适合人的思维,扩展了计算功能,并节省了语句,使程序看来更为简洁、清晰.1.4.1 关系和逻辑运算 MATLAB 给出的关系与操作符如表 1.4.表 1.4 关系与逻辑操作符 关系操作符 说明 逻辑操作符说明 =小于 小于等于大于 大于等于等于 不等于&|与 或 非 6第 1 章 MATLAB 基础知识与编程方法第 1 章 MATLAB 基础知识与编程方法 MA
18、TLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 MATLSB 软件开发 关系操作符可用来比较两个同样大小的数组、或比较一个数组与一个标量.数组和标量比较时,数组的每一个元素与标量比较,结果数组与原数组大小一样,其元素只有 0 和 1.逻辑操作符提供了一种按照逻辑“与”、“或”、“非”形成的关系表达式,并可以用于运算.例如已有数组 a,b 分别为 a=1 2 3 4 5 b=3 4 5 6 7 则 (a3)=0 0 0 1 1(a3)
19、+b=3 4 5 7 8(a3)=1 1 1 0 0(a1)&(b6)=0 1 1 0 0 1.4.2 for 循环 for 循环语句允许按照给出的范围或固定的次数重复完成一个(或一组)运算.它从 for开始,用 end 结束,也叫做 for-end 结构.for 语句的基本格式为:for 循环变量=数组范围 命令串 end 执行 for 语句时,循环变量按照数组指定的范围逐步取值,每一步执行一次命令串,直至循环变量按照数组指定全部取值完毕.例如,运行下面的 for 循环子程序.键入 for n=1:5%循环变量取值从 1 到 5,每步按 1 递增 x(n)=n2;%运算命令 end%结束循环
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第1章 MATLAB基础知识与编程方法 MATLAB 基础知识 编程 方法
限制150内