matlab数值计算444

合集下载

matlab学习3-数值计算

matlab学习3-数值计算

六、矩阵元素之间的逻辑运算
一、矩阵的构造
1、向量的构造
向量是1×N( N×1 )的特殊矩阵,称为N维向量。
是一种特殊的矩阵 (1)逐个输入法:x=[ ] 行向量:数据元素之间均用空格(或逗号)隔开; 例:x1=[2 3 sqrt(3) 5] 列向量:数据元素之间均用分号隔开 例:x2=[2;3;sqrt(3);5] 注:行向量和列向量之间的转换“ ’ ”
第二章
基本数值计算
第一节 简单的数学运算
第二节 MATLAB数值计算基础
第三节 MATLAB数值分析与多项式计算
第一节 简单的数学运算 一、常用的数学运算符 二、Matlab 语言规则 三、常用操作命令和键盘技巧 四、常量和变量 五、函数
一、常用的数学运算符
1、Matlab 的数学运算定义在复数域上。
example3
2、矩阵的基本运算: (1)标量与矩阵的数运算和数学函数对矩阵的运算等 于对矩阵的每一个元素的运算。 a=[1 2 3];b=a+100 b= 101 102 103 (2)进行矩阵加减时,参与运算的矩阵必须同维。 (3)进行矩阵乘法时, A的行数=B列数。 左乘与右乘不同:一般A*B不等于B*A 若A*B等于B*A,则称A,B对易 (4)幂运算A^n
2、对矩阵(A)的部分操作:
函数
Fliplr(A)
功能
矩阵左右翻转
函数
Tiag(A,k)
功能
取矩阵对角线 元素
Flipud(A)
Flipdim(A, m) Rot(A,k)
矩阵上下翻转
矩阵沿特定 维(m)翻转 矩阵逆时针旋 转k*90度
Tril(A,k)
Triu(A,k)
取矩阵的下三 角部分

matlab数值计算技巧

matlab数值计算技巧

Matlab提供了从磁盘文件或剪贴簿转载数据至工作区(数据导入)和将工作区变量存入磁盘文件(数据导出)的多种途径。

最简单的办法是使用界面导入向导,打开文件菜单中的导入数据而后按提示操作。

一、导入文本文件load函数、dlmread函数文本文件需要具备统一的行列模式,使用分隔符作为数据项间隔,这些分隔符包括空格、逗号、tab、分号或其它。

数据文件可能附带标题行和行列头标签。

数值数据对于数值数据可以直接使用load函数装载,例如my_data.txt中数据如下:1 2 3 4 56 7 8 9 10命令A = load('my_data.txt')装载该文本文件数据。

如果数值数据使用其它分隔符,可以使用dlmread读入,假设my_data.txt中数据如下:7.2;8.5;6.2;6.65.4;9.2;8.1;7.2命令A = dlmread('my_data.txt', ';')读入该数据。

包含行列标签的数值数据例如:Grade1 Grade2 Grade378.8 55.9 45.999.5 66.8 78.089.5 77.0 56.7fid = fopen('grades.dat', 'r');grades = textscan(fid, '%f %f %f', 3, 'headerlines', 1);fclose(fid);包含字符和数值的混合数据使用textread函数读入。

如果是规则的用空格隔开的数据,则采用data=textread(filename)格式调用,读出的数据记录在data矩阵中。

二、导出文本文件save函数A = [ 1 2 3 4 ; 5 6 7 8 ];save my_data.out A –ASCIIdlmwrite函数dlmwrite('my_data.out',A, ';')三、MS-Excel电子表格文件xlsinfo获得文件信息使用命令[type, sheets] = xlsfinfo(filename)返回文件类型type和工作表信息。

第二章 MATLAB数值计算

第二章 MATLAB数值计算
{向量(Vector):是指1×n或n×1的矩阵,即只 有一行或者一列的矩阵。
{矩阵(Matrix):是一个矩形的数组,即二维 数组,其中向量和标量都是矩阵的特例,0×0矩 阵为空矩阵([])。
{数组(Array):是指n维的数组,为矩阵的延 伸,其中矩阵和向量都是数组的特例。
复数(Complex)
以m×n的矩阵a为例,若元素a(i,j)则 对应的“单下标”为s= (j-1)×m+i。
a(1,2) a(4)
a(2,3) a(8)
2. 子矩阵块的产生
子矩阵是从对应矩阵中取出一部 分元素构成的。 (1)全下标方式
例 设矩阵A是已知的66矩阵
A(1:3,2:5) A的前3行,及第2到5列元素构成的子矩阵
数值采用十进制表示,可以用带小 数点的形式直接表示,也可以用科学计 数法,数值的表示范围是10-309~10309 。 例如:
-2、5.67、2.56e-56(表示2.56×10-56)、 4.68e204(表示4.68×10204)
矩阵和数组的概念
{标量(Scalar):是指1×1的矩阵,即只含一个 数的矩阵。
表示数组A和B中的对应元素相乘。A和B数组必 须大小相同,除非其中有一个是标量。
(3) 矩阵和数组的除法(division) 矩阵的除法运算表达式有两种:“A\B”和“A/B”, 运算符为“\”和“/”分别表示左除和右除。 X=B/A是X*A=B的解,B/A=B*A-1。 X=A\B是方程A*X=B的解, A\B=A-1*B。 数组的除法运算表达式有两种:“A.\B”和“A./B”, 表示数组相应元素左除和右除。 A和B数组必须大小相同,除非其中有一个是标量。
产生均匀分布的随机矩阵,元素取值 范围0.0~1.0。 产生正态分布的随机矩阵

MATLAB数值计算

MATLAB数值计算
MATLAB 与 科学 计 算-课 程讲 义
第1章 MATLAB 简介
MALAB 译于矩阵实验室(MATrix LABoratory),是用来提供通往 LINPACK 和 EISPACK 矩阵软件包接口的。 后来,它渐渐发展成了通用科 技计算、图视交互系统和程序语言。 MATLAB 的基本数据单位是矩阵。它的指令表达与数学、工程中常用 的习惯形式十分相似。比如,矩阵方程 Ax=b,在 MATLAB 中被写成 A*x=b。而若要通过 A,b 求 x,那么只要写 x=A\b 即可,完全不需要对矩阵 的乘法和求逆进行编程。因此,用 MATLAB 解算问题要比用 C、Fortran 等 语言简捷得多。 MATLAB 发展到现在,已经成为一个系列产品: MATLAB“主包” 和各种可选的 toolbox“工具包”。主包中有数百个核心内部函数。迄今所有 的三十几个工具包又可分为两类:功能性工具包和学科性工具包。功能性工 具包主要用来扩充 MATLAB 的符号计算功能、图视建模仿真功能、文字处 理功能以及硬件实时交互功能。这种功能性工具包用于多种学科。而学科性 工具包是专业性比较强的,如控制工具包(Control Toolbox)、信号处理工 具包(Signal Processing Toolbox) 、通信工具包(Communication Toolbox)等都 属此类。开放性也许是 MATLAB 最重要、最受人欢迎的特点。除内部函数 外,所有 MATLAB 主包文件和各工具包文件都是可读可改的源文件,用户 可通过对源文件的修改或加入自己编写文件去构成新的专用工具包。 MATLAB 已经受了用户的多年考验。在欧美发达国家,MATLAB 已 经成为应用线性代数、自动控制理论、数理统计、数字信号处理、时间序列 分析、动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生、 硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门, MATLAB 被广泛地用于研究和解决各种具体工程问题。

MATLAB的数值计算

MATLAB的数值计算
表示为:p=[1 -12 0 25 116],使用函数roots可以求出多项式等于0的根,根用列向量表示。若已知多项式等于0的根,函数poly可以求出相应多项式。
例:a=[1 2 3;4 5 6;7 8 0]; p=poly(a) p =1.00 -6.00 -72.00 -27.00 p是多项式p(x)=x3-6x2-72x-27的matlab描述方法,我们可用: p1=poly2str(p,‘x’) — 函数文件,显示 数学多项式的形式 p1 =x^3 - 6 x^2 - 72 x - 27
a./b=b.\a a.\b=b./a a./b=b.\a — 都是a的元素被b的对应元 素除 a.\b=b./a — 都是a的元素被b的对应元 素除 例: a=[1 2 3];b=[4 5 6]; c1=a.\b; c2=b./a c1 = 4.0000 2.5000 2.0000 c2 = 4.0000 2.5000 2.0000
—— 给出a,b对应元素间的商.
3. 数组乘方(.^) — 元素对元素的幂 例: a=[1 2 3];b=[4 5 6]; z=a.^2 z = 1.00 4.00 9.00 z=a.^b z = 1.00 32.00 729.00
对于p的其它值,计算将涉及特征值 和特征向量,如果p是矩阵,a是标量 a^p使用特征值和特征向量自乘到p次 幂;如a,p都是矩阵,a^p则无意义。
a=[1,2,3;4,5,6;7,8,9];a^2 ans =30 36 42 66 81 96 102 126 150
2. 数组乘除(,./,.\) ab —— a,b两数组必须有相同的行 和列两数组相应元素相乘。 a=[1 2 3;4 5 6;7 8 9]; b=[2 4 6;1 3 5;7 9 10]; a.*b ans = 2 8 18 4 15 30 49 72 90

MATLAB的数值运算

MATLAB的数值运算

05
线性代数运算
向量和矩阵的运算
向量减法
向量减法是指将一个向量的对 应元素减去另一个向量的对应 元素,得到一个新的向量。
向量点乘
向量点乘是指将两个向量的对 应元素相乘,并求和,得到一 个标量。
向量加法
向量加法是指将两个向量的对 应元素相加,得到一个新的向 量。
标量乘法
标量乘法是指将一个标量与一 个向量的每个元素相乘,得到 一个新的向量。
数据可视化
MATLAB内置绘图函数,支持多种图形类型, 包括散点图、线图、曲面图等。
算法开发
MATLAB支持脚本编程和函数封装,方便用户实 现自定义算法。
数据分析
MATLAB提供了数据导入、清洗、处理和统计分析 等功能。
机器学习
MATLAB集成了机器学习工具箱,支持多种机器 学习算法和模型训练。
信号处理
1980年代中
MATLAB正式发布,成为工程计算领 域的标准工具。
1990年代
MATLAB不断扩展,增加了更多功能 和工具箱,成为多学科领域的计算平 台。
21世纪
MATLAB持续发展,支持更多算法和 编程语言,广泛应用于科研、工程和 商业领域。
MATLAB的主要功能和特点
数值计算
MATLAB提供了丰富的数值计算函数,支持 矩阵运算、线性代数、数值积分、微分等。
向量叉乘
向量叉乘是指将两个向量的对 应元素相乘,并按照一定规则 排列,得到一个新的向量。
特征值和特征向量
特征值
特征值是指一个矩阵所对应的一元二次方程的根,也是该矩阵对一个非零向量的缩放因 子。
特征向量
特征向量是指一个矩阵所对应的特征值对应的非零向量。
线性方程组的求解

(完整版)第一讲Matlab基本数值计算

(完整版)第一讲Matlab基本数值计算

第一讲Matlab 基本数值计算一、矩阵在Matlab中,一个矩阵可以使数学意义上的矩阵,也可以是标量或者向量。

对于一个标量(一个数)可以将之作为11⨯的矩阵,而向量(一行或一列)则可以认为是1n⨯⨯或者1n⨯的矩阵。

另外,一个00矩阵在Matlab中被认为是空矩阵,用“[]”表示。

1、矩阵的创建矩阵的创建可以有以下几种形式⑴直接输入>> A=[1 2 3;4 3 7;2 4 1]注意:每行间的元素用逗号或空格分开,行与行之间用分号或回车分开,矩阵标示是一对中括号[ ]。

也可以采用数组编辑器(Array Editor)像在Excel电子表格中据那样输入数据。

⑵通过语句和函数产生常用的特殊矩阵:zeros:全零矩阵,ones:全1矩阵,eye:单位矩阵,rand:随机矩阵,diag:对角阵等。

例:>> A=ones(3,4)>> E=eye(3)>> D=diag([3 5 2])⑶对矩阵进行裁剪或拼接⑷从外部文件装入数据外部数据文件可以是以保存的Matlab工作空间,也可以是文本(.txt)文件,或者是电子表格创建的文件(.xls).例:已知一个文本格式的数据文件E:\Mathmodel\data1.txt>> load e:\Mathmodel\data1.txt得到一个变量名与文件名相同的矩阵(data1)。

注意:文件的扩展名不能省略。

例:已知一个Excel文件的路径为E:\Mathmodel\data2.xlsa. 缺省操作:>> NUMBER=xlsread('E:\Mathmodel\data2.xls')>>[NUMBER,TXT]=xlsread('E:\Mathmodel\data2.xls')默认操作是从第一个工作表(sheet1)中提取数据。

b. 从指定的工作表(而不是第一个)中提取数据:>> NUMBER=xlsread('E:\Mathmodel\data2.xls','S2')或者>> NUMBER=xlsread('E:\Mathmodel\data2.xls',2)c.从指定的工作表中读取指定区域的数据:>> NUMBER=xlsread('E:\Mathmodel\data2.xls',2,'g3:i8')2、Matlab的矩阵运算⑴基本运算矩阵的加(+)、减(-)、乘(*)、乘方(^)运算法则与代数中的定义完全一致。

MATLAB的数值运算

MATLAB的数值运算

矩阵元素所处的行号和列 号称为该元素的下标。 A(i, j) 即表示矩阵A的第i 行第j各元素。
Matlab矩阵的下标的行、列号都是从1开始的。
3)矩阵的保存——数据的读写

使用MATt的文件,是
MATLAB保存数据的一种标准 save —— 将工作空间中所有的变量存到 格式的二进制文件 matlab.mat文件中 save filename——将工作空间中所有的变量存到 filename.mat文件中 save filename a b ——将工作空间中a和b变量存到 filename.mat文件中
当n=m时,此方程成为“恰定”方程 当n>m时,此方程成为“超定”方程 当n<m时,此方程成为“欠定”方程

“恰定”方程情况 方法: x=inv(a)b — 采用求逆运算解方程 x=a\b — 采用左除运算解方程


本节介绍了matlab语言的数值运算 功能,通过学习应该掌握:
如何创建矩阵、修改矩阵 符号的用法 矩阵及数组运算 多项式运算 线性方程组

6)Matlab的常用矩阵运算函数
max —— 各列最大值 mean —— 各列平均值 sum —— 各列求和 std —— 各列标准差 var —— 各列方差 sort —— 各列递增排序

7)矩阵的一些特殊操作


矩阵的变维 reshape(a,3,4) 矩阵的变向
rot90:旋转; fliplr:上翻; flipud:下翻
Load:用户在使用MATLAB的时候将以MAT文
件保存的矩阵重新装载到MATLAB的工 作空间中。命令格式为:
load 路径\文件名
2)矩阵的修改
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

订单 订单 1 2 35 20 10 15 20 12
35 , B = 10 20
20 15 12
60 50 45
45 40 20
计 算
输入下面Matlab指令 输入下面Matlab指令 Matlab A=[4 2 3;1 3 2;1 3 3;3 2 2], A=[4 B=[35 45; 40; B=[35 20 60 45;10 15 50 40;20 20] 12 45 20] • C=A*B • 请自行计算观看结果 • • •
2.roots —— 求多项式的根
• • • • • • • a=[1 2 3;4 5 6;7 8 0];p=poly(a) p= 1.00 -6.00 -72.00 -27.00 r=roots(p) r = 12.12 -5.73 ——显然 r是矩阵a的特征值 -0.39
3.conv,convs多项式乘运算
例如 a=[1 2 0;3 0 5;7 8 9] a =1 2 0 3 0 5 • 还可以用函数subs 7 8 9 a(3,3)=0 修改,matlab6.0还 a =1 2 0 可用find函数修改。 3 0 5 7 8 0
二、数据的保存与获取
• 把matlab工作空间中一些有用的数据 长久保存下来的方法是生成mat数据文 件。 • save —— 将工作空间中所有的变 量存到matlab.mat文件中。 默认文件名
• 例: a=[1 2 3];b=[4 5 6]; c1=a.\b; c2=b./a • c1 = 4.0000 2.5000 2.0000 • c2 = 4.0000 2.5000 2.0000
• 3. 数组乘方(.^) — 元素对元素的幂
• • • • • • • • 例: a=[1 2 3];b=[4 5 6]; z=a.^2 z= 1.00 4.00 z=a.^b z= 1.00 32.00
第四章 MATLAB的数值计算
—— matlab 具有出色的数值计 算能力,占据世界上数值计算软 件的主导地位
数值运算的功能
• • • • • • • • 创建矩阵 矩阵运算 多项式运算 线性方程组 数值统计 线性插值 函数优化 微分方程的数值解
一、命令行的基本操作
• 创建矩阵的方法
• 直接输入法 • 规则: • 1 矩阵元素必须用[ ]括住 • 2 矩阵元素必须用逗号或空格分 隔 • 3 在[ ]内矩阵的行与行之间必 须用分号分隔

原料 防护帽 产品 4 硬塑料 1 泡沫塑料 1 尼龙线 3 劳动力 垫肩 2 3 3 2 订单 3 60 50 45 臀垫 2 2 3 2 订单 4 45 40 20
表 格 写 成 矩 阵 形 式
防护帽 垫肩 臀垫
4 1 A= 1 3 2 3 3 2 2 2 3 2
4.deconv多项式除运算
• a=[1 2 3]; • c = [4.00 13.00 28.00 27.00 18.00] • d=deconv(c,a)
• d =4.00
[d,r]=deconv(c,a) 余数 c除a后的整数 除 后的整数
5.00
6.00
5.多项式微分
• • • • • • • • • • • matlab提供了polyder函数多项式的微分。 命令格式: polyder(p): 求p的微分 polyder(a,b): 求多项式a,b乘积的微分 [p,q]=polyder(a,b): 求多项式a,b商的微分 a,b 例:a=[1 2 3 4 5]; poly2str(a,'x') ans = x^4 + 2 x^3 + 3 x^2 + 4 x + 5 b=polyder(a) b=4 6 6 4 poly2str(b,'x') ans =4 x^3 + 6 x^2 + 6 x + 4
• 5.2 数组乘除(.∗,./,.\) • a.∗b —— a,b两数组必须有相同的 行和列两数组相应元素相乘。
• • • • • • • a=[1 2 3;4 5 6;7 8 9]; b=[2 4 6;1 3 5;7 9 10]; a.*b ans = 2 8 18 4 15 30 49 72 90
• • • • • • • 例: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)=conv([1 2 3],[4 5 6]) c = 4.00 13.00 28.00 27.00 18.00 p=poly2str(c,'x') p = 4 x^4 + 13 x^3 + 28 x^2 + 27 x + 18

1.5873 - 0.5940i 0.2717i
1.9503 - 0.1611i 2.3134 +
4. 矩阵的其它运算
• inv —— 矩阵求逆 • det —— 行列式的值 • eig —— 矩阵的特征值 • diag —— 对角矩阵
• ’ —— 矩阵转置 • sqrt —— 矩阵开方
5.矩阵的一些特殊操作
五、代数方程组求解
• matlab中有两种除运算左除和右除。 • 对于方程ax+b,a 为an×m矩阵,有三种 情 • 况: • 当n=m时,此方程成为“恰定”方程 • 当n>m时,此方程成为“超定”方程 • 当n<m时,此方程成为“欠定”方程 • matlab定义的除运算可以很方便地解 上述三种方程
9.00
729.00
四、 多项式运算
• matlab语言把多项式表达成一个行ห้องสมุดไป่ตู้向量,该向量中的元素是按多项式 降幂排列的。 • • f(x)=anxn+an-1xn-1+……+loa0
可用行向量 p=[an an-1 …… a1 +a0]表示
• poly —— 产生特征多项式系数向量 • 特征多项式一定是n+1维的 • 特征多项式第一个元素一定是1
关系运算
关系符号 < <= > >= == ~= 意义 小于 小于或等于 大于 大于或等于 等于 不等于
5. 矩阵的数组运算

数组运算指元素对元素的算术运 算,
• 与通常意义上的由符号表示的线性 代数矩阵运算不同 • 5.1 数组加减(.+,.-) • • a.+b 对应元素相加减( 对应元素相加减(与矩阵加 减等效) a.- b 减等效)
• a=[1 2 3;4 5 6;7 8 9]; • b=[2 4 6;1 3 5;7 9 10];
• a*b • ans = • 25 • 55 • 85
37 85 133
46 109 172
• a./b=b.\a —— 给出a,b对应元素间的商. • a.\b=b./a • a./b=b.\a — 都是a的元素被b的对应 元素除 • a.\b=b./a — 都是b的元素被a的对应 元素除
矩阵元素

矩阵元素可以是任何matlab表 达式 ,可以是实数 ,也可以是 复数,复数可用特殊函数I,j 输 入
• a=[1 2 3;4 5 6] • x=[2 pi/2;sqrt(3) 3+5i] •
符号的作用
• 逗号和分号的作用 • ♣逗号和分号可作为指令间的 分隔符,matlab允许多条语句在同 一行出现。 • ♣分号如果出现在指令后,屏 幕上将不显示结果。

save data——将工作空间中所 有的变量存到data.mat文件中。

save data a b ——将工作空间 中a和b变量存到data.mat文件中。

下次运行matlab时即可用load 指令调用已生成的mat文件。
• • • •
load —— 即可恢复保 load data —— 存过的所有 load data a b —— 变量 mat文件是标准的二进制文 件,还可以ASCII码形式保存。
• d=[-1;0;2];f=pi*d • f = -3.1416 • 0 • 6.2832 • 矩阵除的运算在线性代数中没有, 有矩阵逆的运算,在matlab中有两 种矩阵除运算
3. 矩阵乘方—— a^n,a^p,p^a
• a ^ p —— a 自乘p次幂
方阵 >1的整数 的整数
• • 对于p的其它值,计算将涉及特征值 和特征向量,如果p是矩阵,a是标量 a^p使用特征值和特征向量自乘到p次 幂;如a,p都是矩阵,a^p则无意义。
三、矩阵运算
• 矩阵加、减(+,-)运算
• • • 规则: 相加、减的两矩阵必须有相同的 行和列两矩阵对应元素相加减。 允许参与运算的两矩阵之一是标 量。标量与矩阵的所有元素分别进 行加减操作。
• 2. 矩阵乘(∗)运算
• 规则: • A矩阵的列数必须等于B矩阵的行数 • 标量可与任何矩阵相乘。 • a=[1 2 3;4 5 6;7 8 0];b=[1;2;3];c=a*b • c =14 • • 32 23
• • • •
a=[1,2,3;4,5,6;7,8,9];a^2 ans =30 66 36 81 42 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
相关文档
最新文档