第2章 MATLAB 运算基础(2)

合集下载

第二讲 MATLAB基本运算

第二讲 MATLAB基本运算
2010-12-25 20
矩阵下标的用途
访问超出矩阵范围时,产生 Index exceeds matrix dimentions 存储超出矩阵范围时,矩阵自动调节 大小,将指定位置元素置入,其他没 指定数的位置默认为零。
2010-12-25
21
矩阵下标的用途
(2)矩阵连接 例:a=[1 2;3 4] b=[a a+5; a-5 zeros(size(a)] 将小矩阵嵌套入大矩阵,实现矩阵连接。
将矩阵按创建原则写入一个M文件, 在MATLAB的命令窗口或程序中直接执 行该M文件,即将矩阵调入工组空间。
2010-12-25
15
利用MATLAB函数创建矩阵 利用MATLAB函数创建矩阵 MATLAB
ones( m, n) - m行n列的1阵产生 zeros(m, n) -产生m行n列的全0阵 rand(m, n) -产生m行n列均匀分布全列的在 [0,1]区间的随机阵 randn(m, n) -产生m行n列的正态分布矩阵 eye(n) -产生n维单位阵
2010-12-25 18
2.2.3 矩阵的下标 .2.3
子矩阵提取A(v1, v2)
v1表示子矩阵包含的行标构成的向量 v2表示子矩阵包含的列标构成的向量 B1=A(:, [1, 3]) 为:时表示要提取所有行(列) B2=A(1:2:end, :) end表示最后一行(列) B3=A([3,2,1],[2,3,4]) 例: B4=A(:, end:-1:1) 提取A矩阵所有行、1,3列 提取A矩阵 3,2,1 行、2,3,4 列构成子矩阵 提取A矩阵全部奇数行,所有列 将A矩阵左右翻转
2010-12-25
13
直接输入法创建矩阵
例:创建矩阵

第二章 MATLAB基础

第二章 MATLAB基础
27
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-2matlab运算基础
第二节 MATLAB运算基础
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列和

matlab第2章

matlab第2章
21
2. MATLAB变量的显示
任何MATLAB语句的执行结果都可以在屏幕上显示,同时赋值
给指定的变量。没有指定变量பைடு நூலகம்,赋值给默认变量名ans,数据
的显示格式由format命令控制。
Format只影响结果的显示,不影响计算与存储。
MATLAB以双字长浮点数(双精度)执行所有的运算。
22
2.4.1.2 字符串
a在前面未赋值时,非法命令。
19
1. 变量命名规则 (1)变量名区分字母的大小写,A与a表示不同的变量。 (2)变量名必须以英文字母开头,之后可以使用字母、数字、下画线, 但不能使用空格和标点符号。 (3)变量名长度不能超过31个字符,超过部分将被忽略
(4)某些常量也可以作为变量使用。
如 i 在MATLAB中表示虚数单位,但也可以作为变量使用。
5
3.Debug主菜单项 (1)Open M-Files when Debugging:调试时打开M文件 (2)Step:单步调试程序
(3)Step In:单步调试进入子程序
(4)Step Out:单步调试从子程序跳出 (5)Continue:程序执行到下一断点 (6)Clear Breakpoints in All Files:清除所有打开文件中的断点 (7)Stop if Errors/Warnings:在程序出错或报警处停止往下执行
8
5.Window主菜单项 (1)Close All documents:关闭所有文档 (2)0 Command Window:选定命令窗口为当前活动窗口 (3)1 Command History:选定历史命令窗口为当前活动窗口 (4)2 Current Directory:选定当前路径窗口为当前活动窗口

第2章 MATLAB的基础知识

第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)

MATLAB基础教程第2章

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’ 指令 共轭转置 矩阵运算 含义
第二章 数组、矩阵及其运算

第2章 MATLAB基本操作

第2章   MATLAB基本操作

6. 逻辑操作符 功能: 功能:逻辑操作运算。 格式: 格式:A&B A|B ~A 注意逻辑操作有相应的M文件 文件: 注意逻辑操作有相应的 文件:A&B等效 等效 ),A|B等效于 等效于or(A,B), 于and(A,B), ( , ), 等效于 , , ~A等效为 等效为not(A)。 等效为 。
2.关系操作符 关系操作符 关系运算符包括: 关系运算符包括:< 、< = 、〉、> = 、= = 、 ~= 3.测试用的逻辑函数 测试用的逻辑函数 1)all函数测定矩阵中是否全为非零元素 2)any函数测试出矩阵中是否有非零值 3) find函数可找出矩阵中的非零元素及其下 标 4) exist函数在装入数据之前对数据文件作 检测
利用取整和求余函数,可得到整数或精确到小数点后的第 几位。例如: x1=10-round(20*rand(2,5)) %产生[-10 10]之间的随机数(取整) x1 = -4 4 -1 -4 7 -7 -2 0
2 −7
x2=10-round(2000*rand(2,5))/100 %产生[−10 10]之间的随机 数(精确到0.01) x2 = -8.0000 -2.9000 -3.2000 -6.4300 -6.3600 3.1600 4.2100 -0.6800 3.1800 -4.5400
5.函数 函数 内部函数、工具箱函数、自定义函数。 1)函数的嵌套 x=sqrt(log(z)) 函数的嵌套 2)多输入函数 theta=atan2(y,x) 多输入函数 3)多输出函数 [v,d] = eig(a) 多输出函数 [y,I] = max(x) 6.表达式 表达式 a=(1+sqrt(10))/2 b=abs(3+5i) c=sin(exp(-2.3))

MATLAB编程及应用 李辉 PPT课件 第2章 MATLAB基本计算和基础知识

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章)答案

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,请参考教材相关内容。

MATLAB基础(矩阵运算和矩阵操作)2

MATLAB基础(矩阵运算和矩阵操作)2
35
223445.68
数学运算符号及标点符号
+ — * .* / ./ ^ 减法运算 乘法运算 点乘运算 除法运算 点除运算 乘幂运算
加法运算,适用于两个数或两个同阶矩阵相加
(1)MATLAB的每条命令后,若为逗号或无标点符号, .^ 点乘幂运算 则显示命令的结果;若命令后为分号,则禁止显示结果. \ 后面所有文字为注释. (2)“%” 反斜杠表示左除. 36 (3) “...”表示续行.
10
命令窗口
11
工作间
12
当前目录
13
历史命令
14
设置路径搜索 当前目录
15
进入搜索对话框
16
设置搜索路径对话框
17
18
Editpath or pathtool
20
‘帮助’的使用
help 命令:已知命令 lookfor命令:知道命令的关键词 MATLAB Help:命令查找,索引,说明书 Demo
2.2345e+005
>> format rat >> 223445.6778987654
>> format bank >> 223445.6778987654
ans =
ans =
670337/3 >> format long e >> 223445.6778987654 ans = 2.234456778987654e+005
39
clear命令用于删除MATLAB工作空间中的变 量。 who和whos这两个命令用于显示在MATLAB工 作空间中已经驻留的变量名清单。 who命令只显示出驻留变量的名称,whos在给 出变量名的同时,还给出它们的大小、所占 字节数及数据类型等信息。

第二章 MATLAB基础知识

第二章 MATLAB基础知识

2.2 数组及其运算
例 ascii_a=double(a) %将字符转换为相应的双精度值 ascii_a = Columns 1 through 13 84 104 105 115 32 105 115 32 97 110 32 101 120 Columns 14 through 19 97 109 112 108 101 46 例 char(ascii_a) %将双精度值转换为字符 ans = This is an example. 例 w=find(a>=‘a’&a<=‘z’); %查找所有小写字母的位置 ascii_a(w)=ascii_a(w)-32; %将小写字母ascii值转换为大写 char(ascii_a) %将双精度值转换为字符 ans = THIS IS AN EXAMPLE.
2.2 数组及其运算
2.2.2 数组的运算
运算 加 运算符 + 表达式 a+b
减 乘 除 幂 点乘 点除 点幂
*
/或\ ^ .* ./或.\ .^
a-b a*b
a/b或a\b a^b a .* b a ./ b或a.\b a.^b
2.2 数组及其运算
例 a=3 14 7 1 4 9 3 6 10 b=2 8 3 2 10 0 11 2 7 a+b ans= 5 22 10 3 14 9 14 8 17
2.2 数组及其运算
高维数组的创建
直接通过“全下标”元素赋值方式创建高维数组; 由若干个同样大小的低维数组组合成高维数组; 由函数ones、zeros、rand、randn直接创建标准
高维数组;
借助cat、repmat、reshape等函数构造高维数组。
Am

MATLAB基础(二):变量与矩阵

MATLAB基础(二):变量与矩阵

MATLAB基础(⼆):变量与矩阵MATLAB中的变量预定义变量预定义变量是系统本⾝定义的变量ans表⽰默认赋值变量,若输⼊计算表达式⽽未将运算结果赋值,⾃动赋值给ansi 和 j 表⽰虚数单位pi代表圆周率NaN代表⾮数值(在画图时,将某部分图形的坐标数据赋值为NaN即可裁掉该部分)避免对预定义变量直接进⾏赋值变量的管理①在⼯作区中可以⽅便的修改、删除变量②who命令与whos命令>> clear>> num=1:100;>> index = num(3);>> x = 3+5ix =3.0000 + 5.0000i>> who您的变量为:index num x>> whosName Size Bytes Class Attributesindex 1x1 8 doublenum 1x100 800 doublex 1x1 16 double complex内存变量⽂件⽤于保存MATLAB⼯作区变量的⽂件,扩展名为.mat,是⼆进制⽂件save命令:创建、保存内存变量⽂件save ⽂件名变量名 [变量名] …load命令:加载内存变量⽂件load ⽂件名另 load命令加载的变量如果与当前内存变量重名则会覆盖当前变量MATLAB 矩阵的表⽰ MATLAB起源于矩阵运算,矩阵是最基本的数据对象,MATLAB的⼤部分运算或者命令都是在矩阵运算的意义下执⾏的矩阵的建⽴①直接建⽴A = [1,2,3;4,5,6;7,8,9];A = [1 2 3;4 5 6;7 8 9];A =1 2 34 5 67 8 9②由已有矩阵建⽴>> A = [A A A]A =1 2 3 1 2 3 1 2 34 5 6 4 5 6 4 5 67 8 9 7 8 9 7 8 9③由运算结果得到矩阵>> A = [1,2,3;4,5,6;7,8,9];>> B = A;>> C = A + B*iC =1.0000 + 1.0000i2.0000 + 2.0000i3.0000 + 3.0000i4.0000 + 4.0000i5.0000 + 5.0000i6.0000 + 6.0000i7.0000 + 7.0000i 8.0000 + 8.0000i 9.0000 + 9.0000i向量的产⽣①冒号表达式冒号表达式可⽤来获取⾏向量(矩阵的特例)格式:初始值[:步长]:终⽌值 步长缺省值为1>> T = 0:1:5 或 T = 0:5T =0 1 2 3 4 5② linspace函数linspace(起始值,终⽌值 [,元素个数])元素总数缺省值为100从起始值到终⽌值将数值等差均匀划分>> T = linspace(1,2,10)T =1 ⾄ 3 列1.000000000000000 1.111111********* 1.2222222222222224 ⾄ 6 列1.333333333333333 1.444444444444444 1.5555555555555567 ⾄ 9 列1.666666666666667 1.777777777777778 1.88888888888888910 列2.000000000000000由第5列从1.444…变为1.55…6可以看出 MATLAB是⾮常严格的那么,元素个数与步长的关系呢?步长 = 总长度 / 步长个数步长 = (终⽌值 - 起始值)/(元素个数 - 1)即元素个数 = (终⽌值 - 起始值)/ 步长以上两种⽅法产⽣的均是⾏向量结构矩阵结构矩阵即结构体数组类型为struct依次赋值创建结构矩阵>> stu(1).name = 'laji';stu(1).gender = 'boy';stu(1).mark = 100;>> stu(2).name = 'kafm';stu(2).gender = 'boy';stu(2).mark = 90;>> stu(3).name = 'kadm';stu(3).gender = 'boy';stu(3).mark = 90;单元矩阵结构矩阵虽然存储了类型不同的数据,实际上它的每个元素的类型还是相同的⽽单元矩阵的元素就是由不同类型的数据组成的单元矩阵类型为cell建⽴单元矩阵和⼀般矩阵相似,只是单元矩阵元素需要⽤⼤括号括起来m = {1,2.5,'c',{1,2}}m =1×4 cell 数组{[1]} {[2.500000000000000]} {'c'} {1×2 cell}>> nums(1).a=1;nums(1).b=2;>> m(5)= {nums(1)}m =1×5 cell 数组1 ⾄ 4 列{[1]} {[2.500000000000000]} {'c'} {1×2 cell}5 列{1×1 struct}>> m = {m;m}m =2×1 cell 数组{1×5 cell}{1×5 cell}矩阵元素的引⽤⽅式①通过下标引⽤MATLAB列优先存储A = [1,2,3;4,5,6];A(1,2)为第⼀⾏第⼆列的元素 2此时若执⾏语句 A(4,5) = 10>> A(4,5)=10A =1 2 3 0 04 5 6 0 00 0 0 0 00 0 0 0 10矩阵会⾃动扩充⾄4⾏5列,且未赋值元素初始化为0②通过序号引⽤A = [1,2,3;4,5,6];则 A(1) 为1,A(2)为4,A(3)为2序号与下标是⼀⼀对应的,A(i, j)的序号为(j-1)×m+iMATLAB提供了下标与序号相互转换的函数sub2ind函数 将给出的下标转换为序号函数原型:sub2ind([矩阵⾏数,列数], I, J)参数列表为矩阵的⾏列向量,需要转换的⾏下标(矩阵),需要转换的列下标(矩阵)A =1 2 3 0 04 5 6 0 00 0 0 0 00 0 0 0 10>> sub2ind(size(A),[1,2;2,3],[1,4;2,2])ans =1 146 7ind2sub函数 将矩阵元素的序号转换为对应的下标[I, J] = ind2sub([矩阵⾏数,列数], 序号)使⽤冒号表达式获得⼦矩阵A( 起始⾏ [:步长] : 终⽌⾏, 起始列 [:步长] : 终⽌列 )获取从起始⾏到终⽌⾏,起始列到终⽌列范围内的⼦矩阵end运算符, 表⽰某⼀维的最后⼀个下标A(i, : ) //第i⾏A( : , j) //第j列A(i:i+m, k:k+m) //第i到i+m⾏的第k列到k+m列A(i:i+m, 2:end ) //第i到i+m⾏的第2列到最后⼀列A(1:2:5, : ) //取第1,3,5⾏使⽤空矩阵删除矩阵的元素空矩阵是指没有任何元素的矩阵>>x=[]将矩阵元素赋值为 [],即删除该元素A =1 2 3 4 56 7 8 9 1011 12 13 14 15>> A(:, 4:end)=[]A =1 2 36 7 811 12 13>> A(end, end)=[]空赋值只能具有⼀个⾮冒号索引。

第二章 matlab基础知识

第二章 matlab基础知识
第四种方法:利用函数logspace logspace是用来创建对数空间的向量

logspace 的基本语法
X=logspace(X1,X2,n) 该函数创建的向量第一个元素值为10X1,而最后一个元素的数值为10X2,

n为向量的元素个数,元素彼此之间的间隔按照对数空间的间隔设置 若在表达式中忽略参数n,则系统默认地将向量设置为50个元素
2.4 Matlab数据
2016/12/29 数据类型 矩阵的概念 一维数组变量的创建 二维数组变量的创建 数组元素的标识与寻访 字符串 多维矩阵 元胞 Application of Matlab Language 结构
8
2.4.1. MATLAB数据类型
数据的记述 Matlab的数只采用习惯的十进制表示,可 以带小数点和负号;其缺省的数据类型为双 精度浮点型(double)。 例如:3 -10 0.001 1.3e10 1.256e-6 其他数据类型 此外,MATLAB还提供了各种有符号、无 符号整型数据,具体参见教材表2.2。
语言。可见学习掌握这一工具的重要性。
2016/12/29
Application of Matlab Language
3
2.2 MATLAB的主要功能
功能强大
数值运算优势 符号运算优势(Maple) 强大的2D、3D数据可视化功能 许多具有算法自适应能力的功能函数
2016/12/29
10
2.4.2. 数组(array)的概念
数组的分类
一维数组,也称为向量(vector) 。
行向量(row vector)、列向量(column vector)。
二维数组(矩阵matrix)。 多维数组。 有效矩阵:每行元素的个数必须相同,每 列元素的个数也必须相同。

02第二章Matlab语言基础-Matlab教程

02第二章Matlab语言基础-Matlab教程

MATLA于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩 阵时,按Enter键也表示开始一新行. 输入矩阵时,严格要求所有行有相同的列 例m=[1 2 3 4 ;5 6 7 8;9 10 11 12] p=[1 1 1 1 2222 3 3 3 3] 特殊矩阵的建立: a=[ ] 产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零. b=zeros(m,n) 产生一个m行、n列的零矩阵 c=ones(m,n) 产生一个m行、n列的元素全为1的矩阵 d=eye(m,n) 产生一个m行、n列的元素的单位矩阵 e=randn(m,n) 产生一个m行、n列正态分布随机矩阵
3、数组的方向 前面例子中的数组都是一行数列,是行方向分布的 称之为行向量 数组也可以是列向 行向量. 前面例子中的数组都是一行数列,是行方向分布的. 称之为行向量 数组也可以是列向 量,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示. 它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示 产生列向量有两种方法: 产生列向量有两种方法: 直接产生 例 转置产生 例 c=[1;2;3;4] ; ; ; b=[1 2 3 4]; c=b’
Matlab语言基础 Matlab语言基础
1)启动与退出
双击matlab图标,进入matlab命令窗口(command window) 双击matlab图标,进入matlab命令窗口(command window),即可 输入命令语句,开始运算,或从开始菜单的程序中单击matlab进入。 输入命令语句,开始运算,或从开始菜单的程序中单击matlab进入。 单击file菜单中的Exit,或在命令窗口输入Exit并回车即可退出。 单击file菜单中的Exit,或在命令窗口输入Exit并回车即可退出。

MATLAB实用教程第二章

MATLAB实用教程第二章
1.矩阵的合并 2.矩阵行列的删除
1.矩阵的合并
矩阵的合并就是把两个或者两个以上的矩阵 连接成一个新矩阵矩阵构造符 可用于构造矩阵并 可以作为一个矩阵合并操作符 ➢ 表达式C=A B在水平方向合并矩阵A和B; ➢ 表达式C=A;B在竖直方向合并矩阵A和B
具有相同行数的两个矩阵合并为一个新矩阵
12 34 56 3×2
1.访问单个元素
2.线性引用元素
➢ 对于矩阵A线性引用元素的格式为 Ak通常这样的引用用于行向量或列 向量但也可用于二维矩阵
➢ MATLAB按列优先排列的一个长列向量格 式线性引用元素来存储矩阵元素
3.访问多个元素
操作符:可以用来表示矩阵的多个元 素若A是二维矩阵其主要用法如下: ➢ A:: 返回矩阵A的所有元素 ➢ Ai: 返回矩阵A第i行的所有元素
3.用满矩阵和稀疏矩阵存储方式分别构造下述矩 阵:
4.采用向量构造符得到向量159…41 5.按水平和竖直方向分别合并下述两个矩阵:
6. 分别删除第5题两个结果的第2行 7. 分别将第5题两个结果的第2行最后3列的数值
改为11 12 13 8. 分别查看第5题两个结果的各方向长度 9. 分别判断pi是否为字符串和浮点数 10.分别将第5题两个结果均转换为29的矩阵 11.计算第5题矩阵A的转秩 12.分别计算第5题矩阵A和B的A+B、A.* B和
行运算; ➢ 不同优先级的运算符采用先进行优先高的
运算
运算符的优先等级表
由表中可以看到括号的优先级别最高因此可 以用括号来改变默认的优先等级
2.4 字符串处理函数
2.4.1 字符串的构造 2.4.2 字符串的比较 2.4.3 字符串的查找和替换 2.4.4 字符串与数值间的转换

matlab第二章

matlab第二章
3)ceil,与floor相反,它的意思是天花板,也就是取比它大的最小整 数,即朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;ceil(-1.8)=-1,
ceil(1.8)=2
4)round四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=2;round(1.3)=1;round(1.52)=2。
MATLAB 中的变量不需要事先定义,在 遇到新的变量名时,MATLAB会自动建立该变 量并分配存储空间。当遇到已存在的变量时, MATLAB会更新其内容,如有必要会重新分配
存储空间。
下一页
变量名由字母、数字和下划线构成, 并且必须以字母开头,最长为31个字符。 MATLAB能区分大小写字母,变量A和a是
例如: if a>1
disp('a>1')
elseif a==1
disp('a=1')
else disp('a<1') end 上一页 返回
3、逻辑函数
MATLAB提供了许多测试用的逻辑函数,
主要有all、any、find、exist、is*等。
返回
all函数
利用all函数可以测定矩阵每列所有
元素是否非零。若该列所有元素非零,则
利用重复函数repmat可以将小矩阵以
重复的形式产生大矩阵。
例如: f=repmat(a,2,3)
3、矩阵缩小 将大矩阵变成小矩阵的方法有两种: 抽取法和删除法。 (1)抽取法是指从大的矩阵中抽取中 的一部分,从而构成新的矩阵。例如: a=[1:4; 5:8; 9:12; 13:16] b=a(2:3, 3:4) c=a([1 4],[1 3]) d=a([2 4],[1 3])
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例2-38 求1到10的自然对数和常用 10的自然对数和常用 对数。 对数。
x=1:10; log(x) log10(x)
%返回值为自然对数 %返回值为自然对数 %返回值为常用对数 %返回值为常用对数
如果求2为底的对数呢? 如果求2为底的对数呢? log10()/log10(2)
2.6
字符串
2.6.1字符串的定义 字符串的定义 MATLAB将字符串当作一个行向量, MATLAB将字符串当作一个行向量,每个元素 将字符串当作一个行向量 对应一个字符,一个字符占两个字节, 对应一个字符, 一个字符占两个字节 , 并 且每一字符( 包括空格) 以其ASCII ASCII码的形 且每一字符 ( 包括空格 ) 以其 ASCII 码的形 式存放,其标识方法和数值向量相同。 式存放,其标识方法和数值向量相同。
其起始位置
deblank 删除字符串尾部的空格 eval 以表达式方式执行字符串 disp 显示字符串的内容
2.6.2 字符串的连接和替换
常用的字符串的连接和替换函数: 常用的字符串的连接和替换函数:
strcat(S1,S2,S3 ...) strcat(S1,S2,S3,...)
功能:返回 功能:返回S1,S2,S3的连接字符串 的连接字符串
int2str(X) 功能:将整数X 功能:将整数X转换为字符串 num2str(X) 功能:将数值X 功能:将数值X转换成字符串 mat2str(MAT) mat2str(MAT) 功能:将数值矩阵MAT MAT转换为可执行的形式 功能:将数值矩阵MAT转换为可执行的形式
例2-42 分析下列语句的功能。 分析下列语句的功能。
3 矩阵和数组的除法运算 矩阵除法运算的运算符为\ 矩阵除法运算的运算符为\和/,分别表示左除和 右除。 右除。 矩阵除法的定义为: 矩阵除法的定义为: A\B=A-1×B A/B=A× A/B=A×B-1 其中A 是矩阵A 的逆,矩阵B 其中A-1和B-1是矩阵A和B的逆,矩阵B的逆也可用 函数inv求得。 inv求得 函数inv求得。
除法运算的运算符为. 除法运算的运算符为.\和./,分别数组为 ./, 数组的左除和右除, 数组的左除和右除,表示数组的相应元素 相除。 相除。两个矩阵必须同型时才可以进行数 组除法运算。 组除法运算。 定义为: 定义为: 设A=(aij)m×n,B=(bij)m×n, 则数组的右除为 C=(cij)m×n= (aij/ bij )m×n, 数组的左除为 C=(cij)m×n= (bij/ aij )m×n。
2.6.4字符串转换函数 2.6.4字符串转换函数 常用的字符串转换函数: 常用的字符串转换函数:
upper(A) 功能:把字符串A 功能:把字符串A中的任一小写字母转换为相应 的大写字母 lower(A) 把字符串A 功能:把字符串A中的任一大写字母转换为相应 的小写字母 double(X) 转换字符串X ASCII码 功能:转换字符串X为ASCII码 char(X) ASCII码 功能:将ASCII码X转换为字符串
strvcat(T1,T2,T3,..)
功能:返回 功能:返回T1,T2,T3,..的垂直连接字符串 的垂直连接字符串
strmatch(S1,S2)
功能:在逐行搜索字符串 给出以 给出以s1开头的那些行 功能:在逐行搜索字符串s2,给出以 开头的那些行 的行号
strrep(S1,S2,S3)
功能:把字符串s1的所有出现 的地方替换为s3 的所有出现s2的地方替换为 功能:把字符串 的所有出现 的地方替换为
第2章 MATLAB 运算基础(2) 运算基础(2)
2.5
矩阵和数组的运算
• 矩阵运算规则是按照矩阵作为运算要素定
义的, 义的, • 数组运算是按照矩阵元素作为运算要素定 义的。 义的。 • 标量运算是矩阵和数组的运算的特例。 标量运算是矩阵和数组的运算的特例。
2.5.1 矩阵和数组的算术运算 1 矩阵和数组的加减运算 两个矩阵必须同型时才可以进行加减运算。 两个矩阵必须同型时才可以进行加减运算。如 有一个是标量, 有一个是标量,则该标量与矩阵的每个元素进 行加减运算。 行加减运算。 数组的加减运算法则与矩阵的加减运算法则相 同。
常用的字符串函数
判断某一个变量是否为字符串,返回char 判断某一个变量是否为字符串,返回char 则表示为字符串
length class
计算字符串的长度(即组成字符的个数) 计算字符串的长度(即组成字符的个数)
findstr 寻找在某个长字符串中的子字符串,返回 寻找在某个长字符串中的子字符串,
a
2.6.3字符串比较函数 2.6.3字符串比较函数 常用的字符串比较函数: 常用的字符串比较函数:
strcmp(S1,S2 strcmp(S1,S2) 功能: 比较字符串是否相等。如果相同则返回1 功能 : 比较字符串是否相等 。 如果相同则返回 1 , 否则为0 否则为0。 strcmpi(S1,S2 strcmpi(S1,S2) 功能:在忽略大小写的情况下, 功能:在忽略大小写的情况下,比较字符串是否相 等。如果相同则返回1,否则为0。 如果相同则返回1 否则为0 strncmp(S1,S2 strncmp(S1,S2,N) 功能: 比较两个字符串的前n 个字符是否相等。 功能 : 比较两个字符串的前 n 个字符是否相等 。 如 果相同则返回1 否则为0 果相同则返回1,否则为0。 strncmpi(S1,S2 strncmpi(S1,S2,N) 功能: 在忽略大小写的情况下, 比较字符串的前 的前n 功能 : 在忽略大小写的情况下 , 比较字符串 的前 n 个字符是否相等 如果相同则返回1 否则为0 是否相等。 个字符是否相等。如果相同则返回1,否则为0。
例2-41 分析下列语句的执行结果。 分析下列语句的执行结果。 str1='hello'; str2='Hello'; str3='help'; c1=strcmp(str1,str2) c2=strcmpi(str1,str2) c3=strncmp(str1,str3,2) c4=strncmpi(str1,str3,2)
x=5317;y=int2str(x) p=num2str(pi,7) p=num2str(pi,'%10.5e') a=[1 2 3;4 5 6] ; b=mat2str(a) str=sprintf('The pi=%8.6f.',pi)
value
of
2.7 元胞数组
2.7.1 元胞数组的建立 元胞数组: 元胞数组 : 一个数组里存放各种不同类型 的数据。元胞数组中的基本组成是元胞, 的数据。 元胞数组中的基本组成是元胞 , 每一个元胞是用来存放各种不同类型的数 据的单元。 据的单元。 如果元胞中存放的数据为元胞数组, 如果元胞中存放的数据为元胞数组, 则为 元胞数组的嵌套使用。 元胞数组的嵌套使用。
2.5.2 矩阵和数组的乘方运算
矩阵乘方运算的运算符为∧ 矩阵乘方运算的运算符为∧,运算表达式为 A∧B,矩阵乘方运算的含义是:A^B表示方阵 A∧B,矩阵乘方运算的含义是:A^B表示方阵 自乘B A自乘B次。 数组乘方运算的运算符为. 数组乘方运算的运算符为 .^ , 运算表达式为 ^B,其中A 都可以是矩阵或标量。 A.^B,其中A和B都可以是矩阵或标量。
例2-39 建立任意的两个字符串,并查看字 建立任意的两个字符串, 符串占用的字节信息。 符串占用的字节信息。 s1='Northeast Forest Uiversity' %赋值方式建立字符串 赋值方式建立字符串s1 赋值方式建立字符串 s2='Haerbin Heilongjiang‘ %赋值方式建立字符串s2 赋值方式建立字符串s whos %查看字符串占用的字节信息
例2-33 求乘积 AB 和 BA。 BA。
A=[1 0 3;2 1 0]; B=[4 1;-1 1;2 0]; A*B, B*A
例2-34 求 (AB)T和BT×AT(T为转置运 算)。
A=[1 -1 2;2 0 1]; B=[2 -1 0;1 1 3;4 2 1]; (A*B)' B'*A'
例2-32 设
4 −3 1 1 2 A= , B = 2 0 5 −1 0
0 3
求 A-2B。 方法1 方法1:
A=[4 -3 1;2 0 5];B=[1 2 0;-1 0 3]; A-2*B
方法2 方法2:
A=[4 -3 1;2 0 5];B=[1 2 0;-1 0 3]; b=uminus(2*B) %,返回 ,返回2*B的相反数 的相反数 A+b
2 x1 + 2 x2 − x3 + x4 = 4 4 x + 3x − x + 2 x = 6 2 3 4 例2-35 求解方程组 1 8 x1 + 3 x2 − 3x3 + 4 x4 = 12 3 x1 + 3 x2 − 2 x2 − 2 x4 = 6
A=[2 2 -1 1;4 3 -1 2;8 3 -3 4;3 3 -2 -2]; b=[4 6 12 6]'; X=A\b %等价语句为 X=inv(A)*b 等价语句为
数组乘方运算有下列形式: 数组乘方运算有下列形式: 为矩阵,B 为正整数时,则将a 自乘B ,B为正整数时 当 A 为矩阵 ,B 为正整数时 , 则将 aij 自乘 B 次; 为矩阵,B也为矩阵时, ,B也为矩阵时 矩阵必须 当A为矩阵,B也为矩阵时,A和B矩阵必须 同型,则将a 自乘b 同型,则将aij自乘bij次。 为正整数,B为矩阵时, ,B为矩阵时 当A为正整数,B为矩阵时,将A^bij构成新 矩阵的第i行第j列元素。 矩阵的第i行第j列元素。 其中a 分别表示矩阵A 的第i 其中aij和bij分别表示矩阵A和B的第i行 列元素。 第j列元素。
相关文档
最新文档