第2章 matlab数值计算功能

合集下载

第二讲道客巴巴MATLAB的数值计算

第二讲道客巴巴MATLAB的数值计算

例 在区间[20,50]内均匀分布的5阶随机 矩阵。
命令如下:
x=20+(50-20)*rand(5) 此外,常用的函数还有reshape(A,m,n), 它在矩阵总元素保持不变的前提下,将 矩阵A重新排成m×n的二维矩阵。
也可用linspace函数产生行向量。其调用 格式为: linspace(a, b, n) 其中a和b是生成向量的第一个和最后一 个元素,n是元素总数。 例 》a=linspace(1 , 10 , 10)
当一个指令或矩阵太长时,可用••• 续行
冒号的作用 用于生成等间隔的向量,默认 间隔为1。 用于选出矩阵指定行、列及元 素。 循环语句
2.用matlab函数创建矩阵
空阵 [ ] — matlab允许输入空阵,当一 项操作无结果时,返回空阵。 rand —— 随机矩阵 eye —— 单位矩阵 zeros ——全部元素都为0的矩阵 ones ——全部元素都为1的矩阵 diag ——产生对角矩阵
a=[1,2,3;4,5,6;7,8,9];a^2 ans =30 36 42
66 81 96 102 126 150
※当一个方阵有复数特征值或负实 特征值时,非整数幂是复数阵。
a^0.5
ans =
0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 -0.3487i 1.0185 + 0.0842i 1.2515 + 0.0228i 1.4844 - 0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717i
3.conv多项式乘运算(向量卷积)
例:a(x)=x2+2x+3; b(x)=4x2+5x+6; c = (x2+2x+3)(4x2+5x+6) a=[1 2 3];b=[4 5 6]; c=conv(a,b)或c=conv([1 2 3],[4 5 6]) c = 4.00 13.00 28.00 27.00 18.00 p=poly2str(c,‘x’) 其中x表示自变量 p = 4 x^4 + 13 x^3 + 28 x^2 + 27 x + 18

MATLAB数值计算功能

MATLAB数值计算功能

MATLAB数值计算功能
MATLAB是一种非常强大的数值计算软件,被广泛应用于科学计算、
工程计算和数据分析等领域。

它提供了丰富的数值计算功能,包括基本的
数学运算、线性代数、数值积分、微分方程求解、优化算法等。

下面将详
细介绍一些常见的数值计算功能。

1.数学运算:
MATLAB提供了丰富的数学函数,可以进行各种基本的算术运算,如
加减乘除、幂运算、取模运算等。

同时,它还提供了一些高级的数学函数,如三角函数、指数函数、对数函数等。

通过这些函数,用户可以进行各种
复杂的数学运算。

2.线性代数:
3.数值积分:
4.微分方程求解:
5.优化算法:
MATLAB提供了各种优化算法,如线性规划、非线性规划、整数规划、二次规划等。

用户可以通过设定目标函数和约束条件,利用MATLAB的优
化函数寻找最佳的解。

这对于优化问题的求解非常有用,如工程设计、生
产调度等。

6.统计分析:
7.数据可视化:
总之,MATLAB的数值计算功能非常丰富,可以满足各种数学计算和数据分析的需求。

它不仅提供了各种基本的数学运算功能,还提供了高级的线性代数、数值积分、微分方程求解、优化算法和统计分析等功能。

同时,其强大的数据可视化功能也是很多用户选择MATLAB作为数值计算工具的重要原因之一。

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:选定当前路径窗口为当前活动窗口

第二章matlab02数值运算功能1

第二章matlab02数值运算功能1

范 例 3.1416 3.1416e+000
3.14159265358979
format long
15 位数字表示
format long e
15位科学记数表示
format rat 分数近似 format bank 两位小数
3.1415926535897 93e+000 355/113 3.14
MATLAB命令 format hex format +
realmax-系统所能表示的最大正实数: 系统所能表示的最大正实数: 系统所能表示的最大正实数 1.797693134862316e+308 realmin-系统所能表示的最小正实数: 系统所能表示的最小正实数: 系统所能表示的最小正实数 2.225073858507201e-308
7.变量查询和清除函数(变量操作) 变量查询和清除函数(变量操作)
可用load指令调用已生成的 指令调用已生成的mat文件 可用 指令调用已生成的 文件
load data
load data a b
即可恢复保 存过的所有 变量
load filename variables的使用说明 的使用说明
• 将以前用 将以前用save命令保存的变量 命令保存的变量variables从磁 命令保存的变量 从磁 盘文件中调入MATLAB工作空间。 工作空间。 盘文件中调入 工作空间 • 用load 命令调入的变量,其名称为用 命令调入的变量,其名称为用save命 命 令保存时的名称,取值也一样。 令保存时的名称,取值也一样。 • Variables所表示的变量列表中,不能用逗 所表示的变量列表中, 所表示的变量列表中 号,各个不同的变量之间只能用空格来分隔。 各个不同的变量之间只能用空格来分隔。 空格来分隔 • 未列出 未列出variables时,表示将磁盘文件中的 时 所有变量都调入工作空间。 所有变量都调入工作空间。

第二章matlab02数值运算功能2

第二章matlab02数值运算功能2
a*b ans = 25 55 85 a.*b 37 85 133 46 109 172 ans = 2 4 49 8 15 72 18 3应元素间的商 给出a,b对应元素间的商 对应元素间的商. a.\b=b./a a./b=b.\a — 都是 的元素除以 的对应元素 都是a的元素除以 的元素除以b的对应元素 a.\b=b./a — 都是 的元素除以 的对应元素 都是b的元素除以 的元素除以a的对应元素
2.4.3矩阵的关系和逻辑运算 矩阵的关系和逻辑运算
1.矩阵的关系运算符:<, >, <=, >=, = =, ~= 矩阵的关系运算符: 矩阵的关系运算符 • 矩阵之间的每个元素进行比较,运算结果 矩阵之间的每个元素进行比较, 为与原矩阵大小一样的由0 为与原矩阵大小一样的由0和1组成的矩阵 注意:1=<a<=2错误 注意: 错误 例: 1<=a<=2正确 = 正确
• •
§2.4 矩阵的运算
矩阵的数学运算 矩阵的点(数组 运算 矩阵的点 数组)运算 数组 矩阵的关系和逻辑运算
2.4.1矩阵的数学运算 矩阵的数学运算
矩阵运算符 含义 A’ 矩阵转置 A+B 矩阵相加 A-B 矩阵相减 A*B 矩阵相乘 A/B 矩阵相除(右除) 矩阵相除(右除) B\A 矩阵相除(左除) 矩阵相除(左除) A^n A阵的 n次幂 阵的 次幂
x X = y z
10 B = 5 −1
要解上述的联立方程式, 要解上述的联立方程式,可利用矩阵左除 \ 做运 时要求A、 的行数相等 相等。 算,即:X=A\B, 左除时要求 、B的行数相等。 , 左除时要求
如果将原方程式改写成 X*A=B,且令 X, A 和 B , 分别为

学习使用MATLAB进行数值计算和数据分析

学习使用MATLAB进行数值计算和数据分析

学习使用MATLAB进行数值计算和数据分析---第一章:MATLAB的基本介绍MATLAB是一种强大的数值计算和数据分析软件,广泛应用于科学研究、工程设计等领域。

它的主要特点是简洁直观的用户界面和丰富的数学函数库。

在本章中,我们将介绍MATLAB的基本特性和使用方法。

1.1 MATLAB的历史与发展MATLAB是由MathWorks公司于1984年首次推出的。

起初,它作为一个用于矩阵计算的工具被广泛使用。

随着时间的推移,MATLAB逐渐拓展了功能,加入了许多其他数学和工程计算的功能,如符号计算、数据统计和可视化。

如今,MATLAB已经成为一种非常受欢迎的工具。

1.2 MATLAB的安装和环境设置要开始使用MATLAB,首先需要从MathWorks官网下载并安装MATLAB软件。

安装完成后,打开MATLAB并设置工作目录和默认工作文件夹。

工作目录是指存储MATLAB代码和数据文件的文件夹,而默认工作文件夹是指MATLAB打开时默认选择的文件夹。

1.3 MATLAB的基本语法和命令MATLAB的基本语法和命令非常简单易懂。

它采用类似于其他编程语言的命令行交互方式,用户可以直接在命令行输入MATLAB语句并执行。

例如,可以输入"2+2"并按回车键得到结果4。

此外,MATLAB还具有许多内置的数学函数和运算符,可以进行各种数值计算和数据分析。

1.4 MATLAB脚本和函数在MATLAB中,可以使用脚本和函数来组织和执行一系列MATLAB命令。

脚本是一系列命令的集合,可以一次性运行。

函数是一段可以重复使用的代码,可以接受输入参数并返回输出结果。

通过编写脚本和函数,可以提高MATLAB代码的可重复性和可维护性。

第二章:数值计算MATLAB作为一种数值计算工具,提供了丰富的数学函数和算法,可以用于解决各种数值计算问题。

在本章中,我们将介绍MATLAB在数值计算方面的一些常用功能和技巧。

2.1 数值计算方法MATLAB中包含了许多数值计算方法,如数值积分、数值微分、线性代数求解等。

第二章Matlab 基本功能

第二章Matlab 基本功能

>> A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16] A=
1234 5678 9 10 11 12 13 14 15 16
>> B=[1,sqrt(25),9,13 2,6,10,7*2 3+sin(pi),7,11,15 4,abs(-8),12,16]
B= 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16
3.利用M文件建立矩阵
对于比较大且比较复杂的矩阵,可以为它专门建立一个M
文件。下面通过一个简单例子来说明如何利用M文件创建
矩阵。
A=[1,2,3,4,5 6,7,8,9,10 11,12,13,14,15 16,17,18,19,20 21,22,23,24,25]
(1)启动有关编辑程序或MATLAB文本 编辑器,并输入待建矩阵:
3.访问多个元素
操作符“:”可以用来表示矩阵的多个元素。 若A是二维矩阵,其主要用法如下: Ø A(:,:) 返回矩阵A的所有元素。 Ø A(i,:) 返回矩阵A第i行的所有元素。
Ø A(i,k1:k2) 返回矩阵A第i行的自k1到k2 列的所有元素。
Ø A(:,j) 返回矩阵A第j列的所有元素。 Ø A(k1:k2,j) 返回矩阵A第j列的自k1到k2
>> a= linspace(-6,6,4) a=
-6 -2 2 6
>> b=logspace(0,2,4) b=
1.0000 4.6416 21.5443 100.0000
2.2.2 矩阵下标引用
本小节将介绍通过矩阵 下标 来存取元素值 的方法,包括访问单个元素、线性引用元 素和访问多个元素等。

第二章 MATLAB的数值计算(修改版)

第二章 MATLAB的数值计算(修改版)

2.2.3 矩阵的基本运算
矩阵的乘(*)运算
规则: A矩阵的列数必须等于B矩阵的行数 标量可与任何矩阵相乘。 例如: a=[1 2 3;4 5 6;7 8 0];b=[1;2;3];c=a*b c =14 32 23
2.2.3 矩阵的基本运算
矩阵的除运算 矩阵除的运算在线性代数中没有,有矩阵逆的运算,在matlab中有两种 矩阵除运算即左除和右除 左除‚\”: 相当于Ax=B的解,x=A-1B。 右除‚/”:相当于xA=B的解,x=BA-1 此外,矩阵也可和常数进行除运算,此时常数只能作为除数
方法二 冒号生成 基本格式:x=x1:step:x2 x=x1:x2 比如: D = 4:0.5:9 E = 5:9
2.1.3 向量的运算
与数的运算 比如: A = 0:9; B = A-1 C = A*2 点积运算 指两个向量在其中一个向量方向上的投影的乘积。 dot(a,b) a,b必须同维 比如: A = 0:3; B = 1:4; C = dot(A,B)
注意:MATLAB函数名必须小写
2.2.2 矩阵的修改
方法一:直接修改 可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即 可修改。 方法二: 指令修改 可以用A(,)= 来修改。 比如: 对于A=[1 2 3;4 9 6;7 8 9],若将其中的9修改为5,则可以通过上述的两 种方法: 法一不用介绍; 方法二可使用A(2,2)=5来修改
特征多项式的特点:
(1)特征多项式一定是n+1维的 (2)特征多项式第一个元素一定是1
根据多项式对应的全部根可建立其特征多项式: poly —— 产生特征多项式系数向量
已知一个多项式的全部根X求多项式系数的函数是poly(X),该函数返回以X为 全部根的一个多项式P,当X是一个长度为m的向量时,P是一个长度为m+1的 向量。

matlab2-数值计算new1

matlab2-数值计算new1
ascii文件
用load指令调用已生成的mat文件。
1. load —— 2. load data —— 3. load data a b —— 4. load data a b -ascii
即可恢复保存 过的所有变量
mat文件是标准的二进制文件,还
可以ASCII码形式保存。
5.矩阵运算

矩阵加、减(+,-)运算
a(:,3)=0 a=1 3 7 2 0 8 0 0 0
a =1 0 7
2 0 8
0 0 9
3) 删除行或列
将行或列指定为空数组,可以删除行或列 A=[16 2 2 13;5 3 11 8;9 4 7 12;4 5 14 1] X = A;删除第二列 X(:,2) = [ ] X= 16 2 5 9 11 7 13 8 12
5)矩阵的组合 C=[A B]
C=[A;B]
4.数据的保存与获取

把matlab工作空间中一些有用的数据长久保存下来的方法是生 成mat数据文件。 1. save —将工作空间中所有变量保存matlab.mat中
2. 3. 4. 5. 6.
save data—将工作空间中所有变量保存为data.mat
矩阵分析
1. 矩阵行列式det 通常用来判断矩阵是否奇异
>>A=magic(3) A= 8 1 6 3 5 7 4 9 2 >>det(A) ans=-360
2. 矩阵的逆inv 对于线性方程组A*X=b, 有X=inv(A)*b
>>A=magic(3) A= 8 1 6 3 5 7 4 9 2 >>B=inv(A) B= 0.1472 -0.1444 0.0639 -0.0611 0.0222 0.1056 -0.0194 0.1889 -0.1028

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 数值类型
数值类型分类方法
根据数据存 储空间和方 式分类
根据数据结 构分类

第 2 章 matlab数值计算第一次课

第 2 章 matlab数值计算第一次课

河南理工大学测绘学院
§2.1 特殊矩阵的生成
eye函数的调用格式: ●eye(n) %生成n × n阶单位矩阵 ● eye(m,n) 或eye([m,n]) %生成m× n阶单位阵 ● eye(size(A)) %生成与A同阶的单位阵 ones函数的调用格式: ●ones(m):产生m × m阶的全1矩阵。 ●ones(m,n)或zeros([m,n]) :产生m × n全1矩阵。当 m = n时,等同于zeros(m)。 ● zeros(m,n,p,…): 生成m × n ×p ×…阶的全1阵或 数组。
MATLAB提供了求魔方矩阵的函数magic(n),其
功能是生成一个n阶魔方阵。
河南理工大学测绘学院
§2.1 特殊矩阵的生成
【例2.3】将101~125等25个数填入一个5行5列的表格中, 使其每行、每列及对角线的和均为565。
一个5阶魔方矩阵的每行、每列及对角线的和均为65, 对其每个元素都加100后这些和变为565。完成其功能的命 令如下: M=100+magic(5)
rand(‘state’,J) %对整数J,重置生成器到第J个状态 rand(‘state’,sum(100*lock))%每次重置到不同状态 注:randn函数的调用格式同rand
河南理工大学测绘学院
§2.1 特殊矩阵的生成
【例2.2】建立随机矩阵: (1)在区间[10, 30]内均匀分布的4阶随机矩阵。 (2)均值为0.6、方差为0.1的4阶正态分布随机矩阵。 产生(0,1)区间均匀分布随机矩阵使用rand函数,假 设得到了一组满足(0,1)区间均匀分布的随机数xi,则 若想得到在任意[a, b]区间上均匀分布的随机数,只需 用yi = a + (b − a)xi计算即可。产生均值为0、方差 为1的标准正态分布随机矩阵使用randn函数,假设已经 得到了一组标准正态分布随机数xi,如果想更一般地得 到均值为μ 、方差为σ 2的随机数,可yi = μ + σ xi 计算出来。

第2章_MATLAB的基本操作

第2章_MATLAB的基本操作
浮点数
浮点数包括单精度(4个字节)和双精度(8个字 节),默认为双精度。
single :将其它类型的数据转换成单精度浮点数。 double :将其它类型的数据转换成双精度浮点数。
浮点数与其它类型数据运算表
operand single double int/uint char logical X single single single single single double single double int/uint double double
MATLAB数据类型
例:
MATLAB数据类型
细胞变量的定义
可以通过以下两种方式定义一个细胞变量:
用赋值语句直接定义; 由 cell 函数预先分配存储空间,然后对细
胞的每个元素逐个赋值。
MATLAB数据类型
MATLAB数据类型
细胞变量可以嵌套定义
MATLAB数据类型
细胞变量的元素的引用
MATLAB数据类型
str2num:将字符数组转换为
数值数组
abs,double,char按照 ASCII码 转换; num2str,int2str,mat2str,str2num 直接转换。
MATLAB数据类型
字符串的连接
水平连接:strcat 或 中括号中用逗号连接
在中括号中直接水平连 接,结果中包括原字符 串结尾处的空格。 用 strcat 连接,结果 中忽略原字符串结尾处 的空格。
把数字直接转换为字符 串,每个数字为一个独 立的字符串。
把数字取整后转换为字 符串,注意和 num2str 的区别。
把矩阵转换为一个字符 串,方括号、分号和空 格都是其元素。
MATLAB数据类型

第2章 MATLAB数值计算

第2章  MATLAB数值计算

第2章 MATLAB数值计算MATLAB的数学计算=数值计算+符号计算其中符号计算是指使用未定义的符号变量进行运算,而数值计算不允许使用未定义的变量。

2.1 变量和数据2.1.1数据类型数据类型包括:数值型、字符串型、元胞型、结构型等数值型=双精度型、单精度型和整数类整数类=无符号类(uint8、uint16、uint32、uint64)和符号类整数(int8、int16、int32、int64)。

2.1.2数据1. 数据的表达方式▪可以用带小数点的形式直接表示▪用科学计数法▪数值的表示范围是10-309~10309。

以下都是合法的数据表示:-2、5.67、2.56e-56(表示2.56×10-56)、4.68e204(表示4.68×10204)2. 矩阵和数组的概念在MATLAB的运算中,经常要使用标量、向量、矩阵和数组,这几个名称的定义如下:▪标量:是指1×1的矩阵,即为只含一个数的矩阵。

▪向量:是指1×n或n×1的矩阵,即只有一行或者一列的矩阵。

▪矩阵:是一个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例,0×0矩阵为空矩阵([])。

▪数组:是指n维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。

3. 复数复数由实部和虚部组成,MATLAB用特殊变量“i”和“j”表示虚数的单位。

复数运算不需要特殊处理,可以直接进行。

复数可以有几种表示:z=a+b*i或z=a+b*jz=a+bi 或z=a+bj(当b 为标量时) z=r*exp(i*theta)● 得出一个复数的实部、虚部、幅值和相角。

a=real(z) %计算实部 b=imag(z) %计算虚部 r=abs(z) %计算幅值 theta=angle(z) %计算相角 说明:复数z 的实部a=r*cos(θ); 复数z 的虚部b=r*sin(θ); 复数z 的幅值22b a r +=;复数z 的相角theta=arctg(b/a),以弧度为单位。

Matlab(R2009a版)-第2讲 数值运算

Matlab(R2009a版)-第2讲 数值运算

MATLAB2009从入门到精通课程主要内容•第1章MATLAB简介•第2章数值运算•第3章单元数组和结构•第4章字符串•第5章符号运算•第6章MATLAB绘图基础•第7章程序设计•第8章计算方法的MATLAB实现•第9章优化设计•第10章SIMULINK仿真初探第2章数值运算•本章将介绍MATLAB2009的数值计算功能,首先讲述MATLAB中的运算符,然后讲述包括MATLAB的向量、矩阵和数组,并介绍他们之间的运算。

此外,还介绍了一些特殊的矩阵数据结构。

另外,还对MATLAB中的多项式的运算以及多项式拟合作了详细介绍。

2.1 MATLAB中的变量•MATLAB中的变量必须以字母打头,之后可以是任意字母、数字或下划线,变量名区分字母大小写,变量名不超过19个字符,默认变量名为ans。

除此之外还包含一些特殊的变量。

•who命令能够显示变量的信息;•whos命令能够显示变量的详细信息。

•matlab中同样支持复数变量,表示方法为a=m+ni(j)。

当n是表达式时,n与i(j)之间必须要加乘号。

另外也可以用complex(x,y)来产生复数。

•在循环程序段中一般不把i和j作为变量名称,以免生成数据时发生误解。

•>> a=1+2i• a =• 1.0000 + 2.0000i •>> b=1+3*i• b =• 1.0000 + 3.0000i•>> a=sin(2)+cos(2)*i• a =•0.9093 -0.4161i•>> b=sin(2)+cos(3)i•??? b=sin(2)+cos(3)i•|•Error: Unexpected MATLAB expression.•>> x=sin(2);•>> y=cos(3);•>> a=complex(x,y)• a =•0.9093 -0.9900i•>> b=complex(x)• b =•0.9093•>> a=i+2i• a =•0 + 3.0000i •>> b=i+2*i • b =•0 + 3.0000i•>> i=5;•>> a=i+2i• a =• 5.0000 + 2.0000i •>> b=i+2*i• b =•15•>> i=5;•>> a=5+i • a =•10•>> b=5+1*i • b =•10•>> i=5;•>> a=5+2i• a =• 5.0000 + 2.0000i •>> a=5+2*i• a =•152.2 MATLAB的数值运算基础2.3 数组及向量运算•由数学知识可知,数组和矩阵有着不同的概念。

第二章 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数值计算dai

第二章MATLAB数值计算dai

15

a=logspace(n1,n2,n)

在对数空间上,行向量的值从10n1到10n2,数据个数为n, 缺省n为50。这个指令为建立对数频域轴坐标提供了方 便。 例: 》a=logspace(1,3,3) a= 10 100 1000
16
特殊矩阵的生成
单位矩阵 eye(n) %生成n维单位阵 eye(m,n) %生成m×n的单位阵 eye([m,n]) %生成m×n的单位阵 eye(size(A)) %生成与A矩阵同样大小的单位阵 全1矩阵 ones(n) ones(m,n) ones([m,n]) ones(size(A)) 全0矩阵 zeros(n) zeros(m,n) zeros([m,n]) zeros(size(A))
b= 50x2 struct array with fields: number name height test
%构造50×2结构体矩阵
二年级第43个学生的有关信息的填写 >> b(43,2).number=50+43; >> b(43,2).name='李四'; >> b(43,2).height=178; >> b(43,2).test=[83 80 78;97 80 72;69 88 80;87 99 100];
随机矩阵 rand(n) rand(m,n) rand([m,n]) rand(size(A)) 生成的随机矩阵的各个元素值在0和1之间均匀随机分布。 randn(n)产生均值为0,方差为1的正态分布的随机矩阵。
17
建立随机矩阵: (1) 在区间[20,50]内均匀分布的5阶随机矩阵。 (2) 均值为0.6、方差为0.1的5阶正态分布随 机矩阵。 命令如下:

安徽师范大学《计算方法》实验课程序+答案(数学专业)二(最新整理)

安徽师范大学《计算方法》实验课程序+答案(数学专业)二(最新整理)

实验二第2章MATLAB数值计算功能MATLAB强大的数值计算功能使其在诸多数学计算软件中傲视群雄,是MATLAB的基础.本章将简要介绍MATLAB的数据类型、矩阵的建立及运算.第一节MATLAB 的数据类型MATLAB 的数据类型主要包括:数字、字符串、矩阵、单元型数据及结构型数据等,此处仅介绍几个常用类型.一、MAT L A B中的变量与常量不需要对所使用的变量进行事先声明,也不需要指定其类型,它会自动根据所赋予变量的值或所进行的操作来确定变量的类型.如果变量重新赋值将会用新值代替旧值并以新值类型代替旧值类型.⏹例1 a=1;b=0.5;c=a*b,c=‘a*b’⏹变量的命名规则是:(1)变量名可以有63个字符.字母A~Z、a~z、数字和下划线‘_’都可以作为变量名,但第一个字符必须是一个字母;(2)变量名区分大小写,如矩阵a和A是不一样的;(3)变量名中不允许使用标点符号、空格、运算符;(4)预定义变量名也可以像一个变量名那样使用,但只有在变量由命令clear删除后才能恢复原意,所以,不主张这样使用;(5)MATLAB提供的标准函数及命令通常是用小写字母书写.例2 命令abs (A)给出了A 的绝对值,但ABS(A)会导致在屏幕上显示错误信息.二、 算术表达式及显示格式在MATLAB 中对十进制数,使用科学记数法可以书写十分大和十分小的数.例如1.23e -6,代表1.23×10-6 .MATLAB 有算术运算符的扩展集,它们是:1) ^ 幂;2) * 乘; / 右除(正常除); \ 左除;3) + 加;- 减这是按序给出的运算,1)是最高优先级.在带相同优先级的运算符表达式中,按从左到右的顺序执行.圆括号( )能够用于改变优先级次序.两种不同的除法:对于数量右除 2 / 5得0 . 4与左除5 \ 2是相同的,斜线号“靠着”的表达式或数字是分母.如a/(b+c)即为,而a\(b+c)即为 .ab c +b c a+命令集4 显示格式format defformat 将输出格式改为由defformat 定义的格式,这类格式可以是如下之一:short 、long 、short e 、long e 、hex 、+、bank 、rat也有compact 或loose ,它给出了一个较紧缩或较宽松的输出格式,但并不影响数值输出格式.■例3设 b = 1 + 1/3,先定义格式,然后在屏幕上显示b:format short 得1.3333 4位小数format long 得1.33333333333333 14位小数format short e 得1.3333e + 000 4位小数format long e 得1.333333333333333e + 000 15位小数format hex 得3ff5555555555555 16进制数format + 得+ 正:+ format bank 得1.33 美元和美分format rat 得4/3 作为一个有理数三、数学函数命令集5数学函数abs(x) 求x的绝对值,即|x| .sign(x)求x的符号,如果是正的得1;负的得-1;零得0 .sqrt(x)求x.exp(x)求x的指数函数,即.x elog(x)求x的自然对数,即lnx .log10(x)求x以10为底的对数,即.log x10sin(x)求正弦x,x为弧度.cos(x)求余弦x,x为弧度.tan(x)求正切x,x为弧度.cot(x)求余切x,即1 / ( tanx),x为弧度.asin(x)求反正弦,即.1-sin xacos(x)求反余弦,即.1-cos xsec(x)求正割x,即1/(cosx) .csc(x)求余割x,即1/(sinx) .命令集6取整命令round(x)求最接近x的整数.如果x是一个向量,则适用于所有元素.fix(x)求0方向最接近x的整数.即负x向上四舍五入,正x向下四舍五入.floor(x)求小于或等于x的最接近的整数.ceil(x)求大于或等于x的最接近的整数.rem(x, y)求整除x/y的余数.gcd(x, y)求整数x和y的最大公因子.lcm(x,y)求正整数x和y的最小公倍数,也能用于决定最小公因子.第二节MATLAB的矩阵的建立与运算矩阵是MATLAB 数据存储的基本单元,而矩阵的运算是MATLAB 语言的核心,几乎一切运算均是以对矩阵的操作为基础的.一、矩阵的建立1. 直接输入法从键盘上输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵.规则如下:⏹输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在中括号内.⏹矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔.⏹矩阵大小不需要预先定义.⏹矩阵元素可以是运算表达式.⏹若"[ ]"中无元素表示空矩阵.⏹例4 >> A=[1 2 3;4 5 6;7 8 9]A=1 2 34 5 67 8 92. 利用“:”生成矩阵(1)生成等距的行向量,如>> a=1:0.5:4a=Columns 1 through 71 1.52 2.53 3.5 4(2)截取指定矩阵中的部分生成新矩阵,如>> B=A (1:2, : )B=1 2 34 5 6即矩阵B是例4中A矩阵的前两行生成.3. 外部文件读入法以文件的形式存储,适合大型矩阵输入.读入形式>> Load+文件名Load 函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名的变量,如果不给定文件名,则将自动认为matlab.mat 文件为操作对象,如果该文件在MATLAB 搜索路径中不存在时,系统将会报错.4. 特殊矩阵的生成命令集71矩阵、零矩阵、单位矩阵和随机矩阵ones (n)建立一个n×n的1矩阵.ones (m , n)建立一个m×n的1矩阵.ones (size(A))建立一个和矩阵A同样大小的1矩阵.zeros(n)建立一个n×n的0矩阵.zeros(m , n)建立一个m×n的0矩阵.zeros(size(A))建立一个和矩阵A同样大小的0矩阵.eye(n) 建立一个n×n 的单位矩阵.eye(m, n)建立一个m×n 的单位矩阵.eye(size(A))建立一个和矩阵A同样大小的单位矩阵.rand 产生在0~1之间均匀分布的随机数;每调用一次给一个新的数值.rand + i*rand产生一个复数随机数.rand(n) 产生一个n ×n 的矩阵,其元素为0~1之间均匀分布的随机数.rand(m , n) 产生一个m ×n 的矩阵,其元素为0~1之间均匀分布的随机数.二、矩阵的运算MATLAB 中的大多数运算可以直接对矩阵应用.除了算术运算+、-、*、^、/、\外,还有用于转置和共轭的运算符(撇号 ’:实数时为转置,复数时为共轭转置,复数时转置为 .’)、关系运算符和逻辑运算符.1. 除法 在MATLAB 中,有两个矩阵除法的符号,左除 \和右除/ .如果A 是一个非奇异方阵,那么A \ B 和B / A 对应A 的逆与B 的左乘和右乘,即分别等价于命令 i n v ( A ) 1A B -1BA -*B 和B* i n v ( A ).2. 元素操作算术运算算术运算也可以元素与元素逐次进行.参与运算的矩阵维数要相同.如果运算是由一点进行的,那么这个运算实行的是元素方式,称为数组运算或点运算.对于加法和减法,数组运算(点运算)和矩阵运算没有差别.数组运算(点运算)符是:+ - . * . /. \ . ^例5 >> A=[1 2 3;4 5 6;7 8 9];B=ones(3); C=A.*BC=1 2 34 5 67 8 93. 关系运算符MATLAB有用于比较矩阵的六个关系运算符,也可以对矩阵与一个标量进行比较,即矩阵中的每个元素与标量进行比较.关系运算符如下:< 小于< = 小于等于> 大于> = 大于等于= = 等于~ = 不等于关系运算符比较对应的元素,产生一个仅包含1和0的具有相同维数的矩阵.其元素是:1 比较结果是真0 比较结果是假在一个表达式中,算术运算符优先级最高,其次是关系运算符,最低级别是逻辑运算符.圆括号可以改变其顺序.4. 逻辑运算符在MATLAB中有四种逻辑运算符:& 与;| 或;~ 非;xor 异或;逻辑运算符的运算优先级最低.在一个表达式中,关系运算符和算术运算符的运算级别要高于逻辑运算符.x o r和o r之间的差别在于:表达式中至少有一个是真,那么o r是真;x o r是表达式中有一个是真但不能两者均为真时才为真.运算符&和|比较两个相同维数的矩阵,它也能使一个标量与一个矩阵进行比较.逻辑运算符是按元素比较的.零元素表示逻辑值假,任何其他值的元素表示逻辑值真.其结果是一个包含1和0的矩阵.命令集8逻辑运算符A & B返回一个与A和B相同维数的矩阵.在这个矩阵中,A和B对应元素都为非零时,则对应项为1;有一个为零的项则为0.A | B返回一个与A和B相同维数的矩阵.在这个矩阵中,A和B对应元素只要有一个为非零,则对应项为1;两个矩阵对应元素均为零时,则对应项为0.~A返回一个与A和B相同维数的矩阵.在这个矩阵中,A对应元素是零时,则对应项为1;A 对应元素是非零时,则对应项为0.xor(A, B) 返回一个与A 和B 相同维数的矩阵.在这个矩阵中,如果 A 和B 均为零或均为非零时,则对应项为 0;如果A 或B 是非零但不是两者同时为非零时,则对应项为1.练习题1. 在计算机上,求下列表达式的值.①;6(10.3424510)w -=+⨯② ,其中;2(2)/[tan()]b c x a e b c a abc ππ+=+-+++ 3.5,5,9.8a b c ===-③ , 其中;22[(1)(0.8333)]44y a b a πππ=--- 3.32,7.9a b ==-④ ,其中;21(2t z e ln t =+2t =⑤ ,其中 .cos sin 78x y u x y +-=+12,3x i y =+=-2. 完成下列操作,观察结果:① a=1:5,b=(1:5)’② y=0:pi/4:pi③ x=(0:0.2:3)’,y=exp(-x).* sin(x)④ A=[1 2 3;4 5 6;7 8 9]B=[1,2,3;4,5,6;7,8,9]C=[1 2 34 5 67 8 9]⑤ [sin(),2*cos(/3);5*,exp(2)]A pi pi pi =-3. 已知 , 求 11112111,1312AB ⎡⎤⎡⎤⎢⎥⎢⎥=- 1 = -⎢⎥⎢⎥⎢⎥⎢⎥ 1 -1 1 1 4⎣⎦⎣⎦① AB-2A , ② AB-BA,A.*B,B.*A , ③ .11A B B A ---4. ,求.21350.65i x ⎡⎤⎢⎥⎣⎦- =-21ln(2x y e x =+5.,求 .23100.7780414565532503269.5454 3.14D - ⎛⎫⎪- ⎪= ⎪⎪ - ⎝⎭2,.*,.^2D D D D 6.x = (1,1,1,1),y = (2,3,4,5)’ ,求 .,xy yx 7.完成下列操作并观察结果①(6),(5,6),(6,5)ones ones ones ② (4),(3,4),(4,3)zeros zeros zeros ③ (5),(4,5),(5,4)eye eye eye ④ ,(3),(3,4)x rand i rand A rand B rand =+* = =⑤(3),(4),(3)hilb hilb invhilb ⑥ [12345],[54321],(,),()x y T toeplitz x y S toeplitz x = = = =⑦(),()A compan x B compan y = =⑧ (),()vander x vander y ⑨ C=[ones(4),zeros(4);eye(4),rand(4)]⑩ C=[ones(4),zeros(4);eye(4),rand(5)]8. 建立向量①(1:3),(1:0.5:3),(4:0.5:0)x y z = = =-② (/4,/4),(1,3,5)w linspace v linspace ππ=- =9. 完成下列命令,观察结果① a=[1:3;4:6;7:9],x=5;xa=x<=a② b=[0 4 1;1 0 8;2 0 0];ab=a &b③n_b=~b10. 计算P 265x=1;y(1)=x ;for k=1:15x=1/(x+1); y(k)=x;end y 11. 计算P 266x=1;y(1)=x ; w=7/25;for k=1:10x=w*x+(1-w)/(x+1); y(k)=x;endy12. 练习format 命令:对第1题练习各种输出格式.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5
2.1.3 矩阵及其元素的赋值
矩阵是 MATLAB 进行数据处理的基本单元,MATLAB 的大部分运算
都是在矩阵的意义上进行的。
MATLAB中的变量或常量都代表矩阵,标量应看作是1×1阶的矩阵。
矩阵运算也是 MATLAB 最重要的运算。
矩阵的创建可以通过以下几种形式: (1)直接列出元素; (2)通过语句和函数产生;
22
2.2.2 format 命令(数据格式)
format 用来控制 数据 显示格式。 format compact 数据显示紧凑格式 format loose 数据显示稀疏格式(系统默认) ※ format 命令只改变数字的显示格式,并不改变 数字的大小。
23
format 命令 只改变数字 的显示格式, 并不改变数 字的大小。
29
2. 乘(、. )运算
① 矩阵乘()运算A*B Nhomakorabea矩阵的列数必须等于B矩阵的行数
标量可与任何矩阵相乘。 ② 数组乘(.)运算A.*B A,B维数相同,相应元素相乘。
Am×n*Bn×p
c*Bn×p
>>A=[1 2 3;4 5 6;7 8 9]; >>B=[2 4 6;1 3 5;7 9 10]; >>A.*B
y=logspace(d1,d2)
y=logspace(d1,d2,N)
从10的d1次幂到d2次幂之间按等比级数等分为N个点,N缺省时,默认为50。
14
2.1.5 矩阵的下标
创建了矩阵之后,若要调用矩阵里的元素,就要了解单个元素标志和 寻访的3种方式:
1.―全下标”标志
―全下标”标志由行下标和列下标组成, 例如:A(3,5)标志矩阵A的第3行第5列元素。
4.矩阵A=[2 4 5 9; -4 6 3 -7],找出A中大于3 的元素赋值给B
5.使用两种方法产生[0,3*pi]等间隔分布10个点的向量
20
2.2 常用管理命令
2.2.1 who和whos命令 who(whos) 查看工作空间里所有的变量 who(whos) a b 查看工作空间里的变量a和b 被查看的变量之间只能用空格,不能用逗号或分号。
2.逗号和分号
在赋值语句中,逗号(空格)用在同一行中各元素之间,分
号用在行与行之间。多条语句放在一行,用逗号分开表示要求显
示结果,由分号分开表示不要求显示结果。
4
3.续行标志(…)
当一条语句或矩阵太长,一行不能显示时,可用续行标志 … , 另起一行继续完成该条语句的书写。
4.中断键
在命令的执行过程中,可以随时按下CTRL+C键中断MATLAB的 运行。
A=[-4,-2,0,2,4;-3,-1,1,3,5]; %创建矩阵A L=abs(A)>3 islogical(L) X=A(L)
L=
%建立矩阵L %判断L中是否有逻辑1 %指出A中绝对值大于3的元素
X=
1
0
0
0
1
-4
16
2.1.6 复数表示
1.将其元素逐个赋予复数 如 z=[1+2i,3+4i;5+6i,7+8i] 2.将其实部和虚部矩阵分别赋值 如z=[1,3;5,7]+[2,4;6,8]*i (*号不能省略) 若在前面程序中曾经给i或j赋过值,则i或j就不再是虚数单位, 此时应把赋值的i或j清除再执行虚数赋值语句。
当p取非整数时,该指令的运算结果可以做如下的理解:
若A可以分解为A=WDW-1,D为对角阵,那么可定义 A-p=WD-pW-1
31

ans =
a=[1,2,3;4,5,6;7,8,9]; a^2
30 36 42
※当一个方阵有复数特征值或负实特 征值时,非整数幂是复数阵。
66 81 96
102 126 150
17
clear命令(删除变量)
删除内存变量。clear操作通常有两种方式:
clear 清除当前工作空间中的全部变量 clear a b c 清除当前工作空间中的变量a、b、c
被清除的变量之间只能用空格,不能用逗号或分号。 因为在一条指令中,逗号和分号都表示该指令结束,不同的是逗号结束
的指令要显示运算结果,而分号结束的指令不显示执行结果。
第二章 MATLAB 的数值 计算功能
1
2.1
变量及其赋值
2.1.1变量
变量由变量名表示,变量的命名应遵循如下规则: 1.变量名必须以字母开头;由字母、数字和下划线混合组成;不允 许使用空格、标点符号; 2.变量名的字符长度不应超过31个(对于6.x版本); 3. MATLAB严格区分大小写字母,因此,A和a是不同的变量。
a^0.5
ans = 0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 -0.3487i 1.0185 + 0.0842i 1.2515 + 0.0228i 1.4844 - 0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717i
其他方法
fopen, fread, textscan, fscan, fclose
10
数据存储
save
save filename 把全部内存变量保存为filename.mat文件。 save filename a b c 把a、b、c三个变量保存在文件名为 filename.mat的文件中。 save filename a b c –append 把a、b、c三个变量添加到文件 名为myfile.mat的文件中。
A=
2.―单下标”标志
按列计数,表示下标 A(3,:) A(:) %矩阵A的第三行 %把矩阵A转换成列向量,
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185 0.6068 0.7621 0.8214
15
3. 逻辑矩阵
例 找出数组A=
-4 -2 0 2 4 中所有绝对值大于3的元素 -3 -1 1 3 5
18

>>a=1;b=2;c=3; >>clear a,b;c c= 3 >>b b= 2 >>a ??? Undefined function or variable ‗a‘. ※用clear命令时,系统不会给出确认提示,一旦 删除将不能恢复。
19
练习
1.请指出如下5个变量名中,哪些是合法的? abcd-2 xyz- 3chan _3 a变量 ABCDefg 2.指令clear, clc各有什么用处? 3.创建一个6阶的魔方矩阵A 把第3行第4列的元素赋给B 把第2行、第4行的所有元素赋给C
(3)从外部文件装入;
(4)在M中文件建立。
6
1、直接输入矩阵:
创建矩阵的基本原则:
1.矩阵的所有元素必须放在方括号“[ ]‖内;
2.矩阵元素之间必须用逗号“,”或空格隔开;
3.矩阵行与行之间用分号“;”或回车符隔开;
4.矩阵元素可以是 数字 或 表达式。 a= 例如输入语句 a=[1 2 3;4 5 6;7 8 9] 显示的结果为:
Sin是变量名,而sin是正弦函数名
4.关键字(如 if,while 等)不能作为变量名。
2
永久变量
• eps — 容差变量,定义为1.0到最近浮点数的距离,在 pc机上= 2-52
• pi — 圆周率的近似值3.1415926
• inf或Inf — 表示正无穷大,定义为1/0
• NaN — 非数,它产生于0× ,0/0,/ 等运算
30
3. 乘方(^、.^)运算
① 矩阵乘方(^)运算 A^p
矩阵A必须是方阵,A和p不能同时为矩阵; 当p取整数时,该指令的运算结果可以做如下的理解:
当p>0时, A^p表示方阵A的直接自乘p次;
当p<0时, A^p表示方阵A的逆矩阵直接自乘p次; 当p=0时, A^p表示与方阵A同维的单位阵;
9
importdata
从文件中读入数据,能自动分析文件的格式。应用广泛 例如:目录C:\Program Files\MATLAB\R2006a\work\temp下有
生物医学信号的文本文件bio_signal.txt,在命令窗口输入:
importdata('C:\Program Files\MATLAB\R2006a\work\temp\bio_signal.txt');
• i,j — 虚数单位
• ans — 对于未赋值运算结果,自动赋给ans 如果用户给永久变量赋值,原始默认值丢失,直至清除变量 或重启Matlab
3
2.1.2、 MATLAB 的语句
1.百分号(注释符)%
与其它程序语言一样,为了方便其他人及日后自己对程序的阅读,
增加程序的可读性,需要在MATLAB文件中加入注释。注释行必须 以%号开始,执行文件时,%号后面的语句不予执行。
12
2.1.4 向量的生成
数组可以看成是行向量,即只有一行或一列的矩阵。前面介绍的所 有矩阵的建立和保存的方法,对向量同样适用 1.利用冒号“:”创建等差数列:
t=[初值:增量:终值]
其中 “增量”是可以省略的,省略时,默认的增量步长为1。增量也可 以是负值,但此时,初值应该大于终值。
例如:x=1:5; y=0:pi/4:2*pi; z=6:-1:0;
11
示例
clear; N=1000; x=rand(1,N); y=5; save rand_data x y; save rand_data_txt.txt clear
load(‗rand_data.mat‘); 间
相关文档
最新文档