matlab 基础02
第二章 MATLAB基础

3 )向量是一个数学量,一般高级语言中也未引入, 它可视为矩阵的特例。从MATLAB的工作区可以查 看到:一个 n 维的行向量是一个 1 × n 阶的矩阵,而 一个n维的列向量则当成n×1阶的矩阵。 如A=[1 2 3 4]就是一个4维的行向量。也可看成是 一个一维数组,还要看成是一个1×4阶的矩阵。
3
数据类型转换函 数 uint8 uint16 uint32 uint64 int8 int16 int32 int64
说 明 无符号8位整数 无符号16位整数 无符号32位整数 无符号64位整数 有符号8位整数 有符号16位整数 有符号32位整数 有符号64位整数
字节数 1 2 4 8 1 2 4 8
22
【例 2.8】变量赋值 >> a=3.14 a= 3.1400 >> class(a) %函数class用来是判断变量数据类 型的 ans = double %变量a是双精度的浮点型数据
23
>> a='hello!' hello! >> class(a) ans = char
%变量a重新赋值
13
>> whos Name Size a 1x1 x 1x1 y 1x1 z 1x1
Bytes Class Attributes 16 double complex 4 int32 4 int32 8 int32 complex
14
2.2MATLAB的常量及变量
2.2.1常量 常量是程序语句中取不变值的那些量。如表达式 y=0.314*x,其中就包含一个0.314这样的数值常数,它 便是一个数值常量。而在另一表达式s='Hello'中,单引 号内的英文字符串“Hello”则是一个字符串常量。
1-2matlab运算基础

1、变量与常量
(1)常量(特殊的变量) • eps — 容差变量,定义为1.0到最近浮点数 的距离,在 pc机上= 2-52 • pi — 圆周率的近似值3.1415926 • inf或Inf — 表示正无穷大,定义为1/0 • NaN — 非数,它产生于0× ,0/0,/ 等运算
A<B ans=[0 0 1 1] A<1 ans=[0 0 1 1]
> 大于
A>B ans=[1 0 0 0] A>1 ans=[0 1 0 0]
<= 小于等于 A<=B ans=[0 1 1 1]
>= 大于等于 A>=B ans=[1 1 0 0]
== 等于
A=B ans=[0 1 0 0] ; A=1 ans=[1 0 0 0]
00 》ones(2) ans=
11 11
》V=[5 7 2]; A=diag(V) 如果已知A为方阵,则V=diag(A)可以提
A=
取A的对角元素构成向量V。
500
070
002
2.矩阵元素提取
MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提取子块和 重排子块的操作。
(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个 数,而且在其他没有指定的位置补零。
消除子块:如果将矩阵的子块赋值为空矩阵[ ],则相当于消除了相应 的矩阵子块。
3.矩阵运算
1、转置:对于实矩阵用(’)符号或(.’)求转置
结果是一样的;然而对于含复数的矩阵,则(’)将
同时对复数进行共轭处理,而 (.’)则只是将其排列
A(m,n):提取第m行,第n列元素 A(:,n):提取第n列元素 A(m,:):提取第m行元素 A(m1:m2,[n1,n2]):提取第m1行到第m2行的第n1列和
第2章 MATLAB的基础知识

a=[1 2 1;2 2 1;2 1 2]; b=[1;2;3]; a/b %矩阵右除
运行程序,得到结果:
??? Error using ==> mrdivide Matrix dimensions must agree.
重新输入语句
a\b
%矩阵左除 ans = 1.0000 -0.3333 0.6667
运行程序,得到结果:
c= 0 0 1 1 1 0
说明 对于复数运算,“= =”与“~ =”运算,既比较实部, 又比较虚部。而其他运算仅比较实部。关系运算同样也可用于 常量与矩阵的比较,在这种情况下,该常量与矩阵的每一个元 素进行比较,其结果是一个与矩阵同维数的0、1矩阵。
逻辑操作符
逻辑操作符 说 明 相对应函数
-0.1667 0 0
(3)矩阵特征值运算
矩阵条件数cond( ) 矩阵的秩rank() 矩阵特征值eig ( )
矩阵范数norm( ) 矩阵的迹trace ( ) 矩阵奇异值svd ( )
例2-7 分别计算矩阵a的有关特征参数。输入以下 MATLAB语句
a=[1 2 3;4 5 6;7 8 0] [cond(a),norm(a),rank(a)]
2.MATLAB工作环境
图形窗口“Figure”
M文件窗口
3.MATLAB的M文件
所谓M文件,就是用户把要实现的命令写在一个 以.m为扩展名的文件中
M文件有两种格式(统称为M文件) 函数式M文件 程序式M文件 程序式M文件用于把很多需要在命令窗口输入的命 令放在一起,就是命令的简单叠加 函数式M文件用于把重复的程序段封装成函数供用 户调用。
&
|
逻辑与
逻辑或
and(a,b)
实验项目1 MATLAB熟悉使用及编程基础2

实验项目1 MATLAB熟悉使用及编程基础MATLAB是美国Mathworks公司推出的一套高件能的数值分析和计算软件,它将矩阵运算、数值分析、图形处理、编程处术结合在一起,为用户提供了一个强有力的科学及工程问题分析计算和程序设计的工具。
MATLAB本身也在不断改进和创新,特别是2000年以出的版本6,无论在界面设计、计算方法、编程阶段和工具等方面都有了巨大的突破,全面引入了面向对象编程的概念和方法,使MATLAB真正成为了具有全部高级语言功能和特征的新一代软件开发平台。
MATLAB开发环境是一组工具和组件的集成,这些工具是图形化的用户接口,它们包括 MATLAB桌面、命令窗口、命令历史窗口、编辑调试窗口以及帮助信信息、工作空间、文件和搜索路径等浏览器。
MATLAB集成了丰富的数学函数库,其强大的计算能力覆盖了从基本函数(如求和、正弦、余弦和复数运算等)到特殊函数(如矩阵求逆、矩阵特征值、贝塞尔函数和快速傅里叶变换等)的范围。
MATLAB语言是一种高级编程语言,包括控制流的描述、函数、数据结构、输入输出及面对对象编程,既可以编制适用于快速使用的小程序,也可以编制大型复杂的应用程序。
MATLAB提供了功能强大的图形系统,既可以完成二维和三维数据的可视化、图像处理、动画和图形表达等功能,也可以定制图形的外观,如建立一个完整的图形用户界由的应用程序。
1.实验目的:掌握MA TLAB编程语言和偏微分方程PDE工具箱对电磁场的基本问题进行仿真;2 实验内容:1、MATLAB启动MA TLAB安装到硬盘后,启动方法有:(1)点击Windows桌面上自动生成的快捷方式图标;(2)点击matlab 6\文件夹下快捷方式图标令MATLAB(3)点击matlab/bin/win32文件夹中的Matlab.exe2、m文件编写熟悉基本指令、基本数学运算,借助help、lookfor等命令实现在线帮助。
建立M文件的一般步骤如下:(1)打开文件编辑器:指的是MA TLAB内部编辑/调试器,可以有几种不同的方法打开文件编辑器,最简单的方法是在操作桌面助工具栏上选择蹦(建立新文件)或选择瞪(打开已有的文件),也可以在命令窗口输入命令edit建立新文件或输入命令edit filename,打开名为fi1ename的M文件。
matlab基础知识

第2章基础知识本章着重介绍MATLAB的一些基础知识,包括数据类型、基本矩阵操作、运算符和字符串处理函数。
本章是MATLAB编程的基础。
2.1 数据类型MATLAB中定义了很多种数据类型,包括字符、数值、单元、结构、java类、函数句柄等类型,用户还可以自己定义数据类型。
在MATLAB中有15种基本数据类型,每种基本数据类型均以数组/矩阵的形式出现,该矩阵可以是最小的0*0矩阵到任意大小的n维矩阵。
1.数值类型数值类型包含整数、浮点数和复数3种类型。
另外MATLAB还定义了Inf和NaN两个特殊数值。
(1)整数类型MATLAB支持1、2、4和8字节的有符号整数和无符号整数。
这8种数据类型的名称、表示范围、转换函数如表2-1所示,其中转换函数可以把其它数据类型的数值强制转换为对应的整数类型。
尽可能使用字节少的数据类型,这样可以节约存储空间和提高运算速度。
表2-1 整数类型名称范围转换函数名称范围转换函数有符号1字节整数int8() 无符号1字节整数uint8()有符号2字节整数int16() 无符号2字节整数uint16() 有符号4字节整数int32() 无符号4字节整数uint32() 有符号8字节整数int64() 无符号8字节整数uint64()(2)浮点数类型MATLAB有单精度和双精度两种浮点数,其中双精度浮点数为MATLAB默认的数据类型。
这2种数据类型的名称、存储空间、表示范围和转换函数如表2-2所示。
表2-2 浮点数类型名称存储空间表示范围转换函数单精度浮点数4字节single()双精度浮点数8字节double() (3)复数类型复数包含实部和虚部。
在MATLAB中可以用i或j来表示虚部。
例如:在命令窗口中用赋值语句产生复数5+10i,代码如下:A=5+10i例如:在命令窗口用函数complex()产生复数5+10i,具体代码如下:X=5;Y=10;z=complex(x,y)(4)Inf和NaN在MATLAB中用Inf和-Inf分别表示正无穷大和负无穷大。
MATLAB基础教程第2章

第二章 数组、矩阵及其运算
2.1 数组的创建和寻访
例2-2 一维数组的生成与访问
命令:X=rand(1,5) 命令:X(3) 命令:X([1 2 5]) 命令:X(1:3) 命令:X(3:end) 命令:X(3:-1:1) 命令:X(find(X>0.5)) 命令:X([1 2 3 4 4 3 2 1])
第二章 数组、矩阵及其运算
2.2 矩阵的运算
例2-6 矩阵的乘法(接着上面的例子) A*B 3*A
注意:矩阵相乘时要求A的列数等于B的行数
第二章 数组、矩阵及其运算
2.2 矩阵的运算
A/B(矩阵右除)表示的是方程X*B=A的解 A\B(矩阵左除)表示的是方程A*X=B的解
例2-7 矩阵的除法( 见教材P.23)
第二章 数组、矩阵及其运算
2.3 数组的运算
1、数组的基本运算
例2-8 ( 见教材P.25)
第二章 数组、矩阵及其运算
2.3 数组的运算
数组运算和矩阵运算指令对照表
数组运算 指令 A.’ A=s A+s,A-s s.*A s./A,A.\s A.^n A+B,A-B A.*B A./B B.\A 含义 非共轭转置,相当于conj(A’) 把标量s赋给A中每个元素 标量s分别于A的元素之和(差) 标量s分别于A的元素之积 S分别被A的元素除 A的每个元素自乘n次 对应元素相加(减) 对应元素相加(乘) A的元素被B的对应元素相除 (与上相同) A^n A+B,A-B A*B A /B B\A 方阵A自乘n次 矩阵和(差) 同内维矩阵相乘 A右除B A左除B S*A 标量s分别于A的元素之积 A’ 指令 共轭转置 矩阵运算 含义
第二章 数组、矩阵及其运算
MATLAB编程及应用 李辉 PPT课件 第2章 MATLAB基本计算和基础知识

2.2.2 系统预定义变量
MATLAB系统提供了一些用户不能清除的特殊变量,
即系统预定义变量。
MATALB系统预定义变量及其含义
预定义变量名
含义
ans pi eps nan或NAN inf i或j
运算结果默认变量名 圆周率 浮点数的精度,也是系统运算时确定的极小值 非数,如0/0 无穷大,如1/0 虚数标志,i=j=sqrt(-1)
1.0000 + 2.0000i >> b=3+4*j b=
3.0000 + 4.0000i
2.3.2 逻辑类型
MATLAB本身并没有专门提供逻辑类型,而借用整型来描
述逻辑类型数据。MATLAB规定,逻辑数据真(true)为1、
逻辑数据假(false)为0。
>> 2<3 ans =
logical 1 >> 2>3 ans = logical 0
>> sin(pi/3) ans =
0.8660
➢ 复数的计算:MATLAB还具有超越计算器的功能, 它认识复数,能够进行复数的计算。
>> (2+3i)+(4+5i) ans =
6.0000 + 8.0000i
Байду номын сангаас
2.2 变量
变量是指在程序执行过程中其值可以变化的量。
变量
用户自定义变量 系统预定义变量
2.3 数据类型
MATLAB数据类型
数值类型 逻辑类型 字符串类型 单元类型 结构类型
2.3.1 数值类型
数值类型分类方法
根据数据存 储空间和方 式分类
根据数据结 构分类
MATLAB运算基础(第2章)答案

实验01讲评、参考答案讲评未交实验报告的同学名单数学:6人(11、12级)信科:12-04, 12-22, 13-47批改情况:问题1:不仔细,式子中出错。
问题2:提交的过程不完整。
问题3:使用语句尾分号(;)不当,提交的过程中不该显示的结果显示。
问题4:截屏窗口没有调整大小。
附参考答案:《MATLAB软件》课内实验王平实验01 MATLAB运算基础(第2章MATLAB数据及其运算)一、实验目的1. 熟悉启动和退出MATLAB 的方法。
2. 熟悉MATLAB 命令窗口的组成。
3. 掌握建立矩阵的方法。
4. 掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
二、实验内容1. 数学表达式计算先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
1.1 计算三角函数122sin 851z e=+(注意:度要转换成弧度,e 2如何给出) 示例:点击Command Window 窗口右上角的,将命令窗口提出来成悬浮窗口,适当调整窗口大小。
命令窗口中的执行过程:1.2 计算自然对数221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(提示:clc 命令擦除命令窗口,clear 则清除工作空间中的所有变量,使用时注意区别,慎用clear 命令。
应用点乘方) 命令窗口中的执行过程:1.3 求数学表达式的一组值0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。
命令窗口中的执行过程:1.4 求分段函数的一组值2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5提示:用逻辑表达式求分段函数值。
命令窗口中的执行过程:1.5 对工作空间的操作接着显示MATLAB当前工作空间的使用情况并保存全部变量提示:用到命令who, whos, save, clear, load,请参考教材相关内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
命令
hold load pack path quit save type
功能
图形保持命令 加载指定文件中的变量 整理内存碎片 显示搜索目录 退出 MATLAB 保存内存变量 显示文件内容
2016年7月24日
第12页
MATLAB R2007基础教程
清华大学出版社
常用的操作命令和快捷键(3/3)
常用的操作快捷键
为方便用户操作,MATLAB 中定义了一些 快捷键。掌握一些常用的操作命令和快捷 键,可以使得对 MATLAB 的操作更加便利。
2016年7月24日
第11页
MATLAB R2007基础教程
清华大学出版社
常用的操作命令和快捷键(2/3)
命令 功能 常用的操作命令
cd clc clear clf diary dir disp echo 显示或改变工作目录 清空命令窗口 清除工作区中的变量 清除图形窗口 日志文件命令 显示当前目录下文件 显示变量或文字的内容 命令窗口信息显示开关
2016年7月24日
MATLAB R2007基础教程
清华大学出版社
简单的数学运算(5/5)
分号(;) 分号用于区分数组的行,或者用于一个语 句的结尾处,取消运行显示。 百分号(%) 该符号用于在程序文本中添加注释,增加 程序的可读性。百分号之后的文本都将视 作注释,系统不对其进行编译。
2016年7月24日 第9页
定义整数变量
定义变量:由于 MATLAB 默认的数据类型 为双精度型,因此在定义整形变量时,需 指定变量的数据类型。
2016年7月24日
第17页
MATLAB R2007基础教程
清华大学出版社
整数运算(1/2)
运算:类型相同的整数之间可以进行运算,返回 相同类型的结果。在进行加、减和乘法运算时比 较简单,在进行除法运算时稍微复杂一些,因为 在多精度情况下,整数的除法不一定能得到整数 的结果。在进行除法时,MATLAB 首先将两个数 视为双精度类型进行运算,然后将结果转化为相 应的整形数据。 MATLAB 中不允许进行不同整数类型之间的运算。
MATLAB R2007基础教程
清华大学出版社
M函数支持基本的数 学运算,这些函数中的大多数调用格式和我 们平时的书写习惯一致,方便用户记忆和书 写。
2016年7月24日
第10页
MATLAB R2007基础教程
清华大学出版社
常用的操作命令和快捷键(1/3)
• 当 a 和 b 中有一个为单精度时,返回结果为单精度; • 如果 a 和 b 其中一个为整数类型,则另外一个必须有相同的 整数类型,或者为双精度型,返回结果 c 为相同的整数类型。
2016年7月24日
第15页
MATLAB R2007基础教程
清华大学出版社
整数
MATLAB 支持8位、16位、32位和64位的有符 号和无符号整数数据类型。 上述整数数据类型除了定义范围不同外,具有相 同的性质。
数据类型 uint8 int8 uint16 int16 uint32 描述 8位无符号整数,范围为0~255(即0~28-1) 8位有符号整数,范围为-128~127(即-27~27-1) 16位无符号整数,范围为0~65535(即0~216-1)
16位有符号整数,范围为-32768~32767(即-215~215-1
32位无符号整数,范围为0~4294967295(即0~232-1)
2016年7月24日
int32
第16页 32位有符号整数,范围为-2147483648~2147483647(即
MATLAB R2007基础教程
清华大学出版社
清华大学出版社
简单的数学运算(1/5)
最简单的计算器使用法
– 直接输入法 – 存储变量法
2016年7月24日
第5页
MATLAB R2007基础教程
清华大学出版社
简单的数学运算(2/5)
表达式书写规则
– 在大多数情况下,MATLAB 对空格不予处理,因此在 书写表达式时,可以利用空格调整表达式的格式,使 表达式更易于阅读。 – 在 MATLAB 表达式中,遵守四则运算法则,与通常法 则相同。即运算从左到右进行,乘法和除法优先于加 减法,指数运算优先于乘除法,括号的运算级别最高; 在有多重括号存在的情况下,从括号的最里边向最外 边逐渐扩展。 – 需要注意的是,在 MATLAB 中只用小括号代表运算级 别,中括号只用于生成向量和矩阵,花括号用于生成 单元数组。
2016年7月24日
第18页
MATLAB R2007基础教程
清华大学出版社
整数运算(2/2)
由于每种整数数据类型都有相应的取值范围,因此数学运算有可能产 生结果溢出。MATLAB 利用饱和处理处理此类问题,即当运算结果 超出了此类数据类型的上限或下限时,系统将结果设置为该上限或下 结果溢出上 限。
MATLAB MATLAB R2007 R2007基础教程 基础教程
清华大学出版社 清华大学出版社
第2章 基本使用方法
教学目标 教学重点 教学内容
2016年7月24日
第1页
MATLAB R2007基础教程
清华大学出版社
教学目标
掌握利用 MATLAB 2007 的命令窗口进行 简单的数学运算 了解 MATLAB 2007 的基本数学函数 掌握常用的操作命令和快捷键 了解 MATLAB 2007 的数据类型 了解 MATLAB 2007 的操作符 了解 MATLAB 2007 脚本编程
2016年7月24日
第20页
MATLAB R2007基础教程
清华大学出版社
浮点数(2/2)
例 2-11 单精度和双精度数据类型的取值范围和精度
>> realmin('single') ans = 1.1755e-038 >> realmax('single') ans = 3.4028e+038 >> eps('single') ans = 1.1921e-007 >> realmin('double') ans = 2.2251e-308 >> realmax('double') ans = 1.7977e+308 >> eps('double') ans = 2.2204e-016
限,因此结 – 例 2-10 整数运算中的数据溢出 果为127 >> x=int8(100); >> y=int8(90); 3*y溢出上限,结 果为127,继续计 >> z=x+y z= 算,得到最后结果 计算-27 x-y-y-y时,从左 127 >> x-3*y 到右进行计算,结果 ans = 溢出下限,因此结果 -27 为-128
第14页
2016年7月24日
MATLAB R2007基础教程
函数
double single
清华大学出版社
描述
创建或转化为双精度类型 创建或转化为单精度类型
数据类型操作函数
uint8,uint16, 其中的 ’type’ 包 创建或转化为相应的无符号整数类型 uint32,uint64 括 ’numeric’ 、’integer’、’ float’ isnumeric 判断是否为整数或浮点数,是则返回 true(或者 1) 和所有的 isinteger 判断是否为整数,是则返回true(或者1) 数据类型。 int8,int16, int32,int64 创建或转化为相应的有符号整数类型
2016年7月24日
第22页
MATLAB R2007基础教程
清华大学出版社
复数
complex 函数的调用方法如下。
– c = complex(a,b),返回结果 c 为复数,其实部为 a, 虚部为 b。输入参数 a 和 b 可以为标量,或者维数、 大小相同的向量、矩阵或者多维数组,输出参数和 a 和 b 的结构相同。a 和 b 可以有不同的数据类型,当 a 和 b 为各种不同的类型时,返回值分别为:
MATLAB R2007基础教程
清华大学出版社
教学内容
简单的数学运算 常用的操作命令和快捷键 MATLAB 2007b 的数据类型 MATLAB 2007b 的操作符 MATLAB 2007b 的基本数学函数 MATLAB 2007b 脚本编程
2016年7月24日
第4页
MATLAB R2007基础教程
isfloat
isa(x,’type’) cast(x,’type’) intmax(‘type’) intmin(‘type’) realmax(‘type’) realmin(‘type’) eps(‘type’) eps(‘x’)
判断是否为浮点数,是则返回true(或者1)
判断是否为 ‘type’ 指定的类型,是则返回true(或者1) 设置x的类型为 ’type’ ’type’ 类型的最大整数值 ’type’ 类型的最小整数值 ’type’ 类型的最大浮点实数值 ’type’ 类型的最小浮点实数值 ’type’ 类型eps值 变量x的eps值
.'
矩阵转置
2016年7月24日
第7页
MATLAB R2007基础教程
清华大学出版社
简单的数学运算(4/5)
标点符号的使用 在 MATLAB 中,标点符号有着充分的意义, 可以用标点符号进行运算,或者标点符号可 以包含特定的意义。
标点符号 分号(;) 逗号(,) 冒号(:) 圆括号(( )) 定义 数组行分隔符;取消运行 显示 数组列分隔符;函数参数 分隔符 在数组中应用较多,如生 成等差数列 指定运算优先级;函数参 数调用;数组索引 标点符号 点(.) 省略号(…) 引号(‘’) 等号(=) 第8页