Matlab第5章数据处理与多项式计算

合集下载

matlab第一讲

matlab第一讲
系统科学研究所
·
1.2 MATLAB 集成开发环境
如果一个命令行很长,一个物理行之内写不下,可以在第1个物理行之 后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的 其他部分。3个小黑点称为续行符,即把下面的物理行看作该行的“逻 辑”继续。 例如:
z=1+1/(1*2)+(1*2*3)+1/(1*2*3*4)+…
系统科学研究所
1.2 MATLAB 集成开发环境
MATLAB的工具栏提供了一些命令按钮和一个当前路径列表框。
2.命令窗口
一般来说,在命令编辑区的一个命令行输入一条命令,命令行以回车 结束。但一个命令行可以输入若干条命令,各命令之间以逗号分隔, 若前一命令后带有分号,则逗号可以省略。例如:
x=720,y=68 x= 720 y=86 x=720;y=86 y=86
1.3MATLAB 的帮助功能
1.3.1帮助界面
进入MATLAB帮助界面可以通过以下3种方法。 单击MATLAB主窗口工具栏中的Help按钮。
在命令窗口中输入”helpwin”、”helpdesk”或“doc”命令。
选择Help菜单中的”MATLAB Help”选项。 1.3.2帮助命令
1.help命令
系统科学研究所
1.2 MATLAB 集成开发环境
检查该命令是否为MATLAB 搜索路径中其他目录下的M文件。 2.设置搜索路径
用户可以将自己的工作目录列入MATLAB搜索路径,从而将用户目录
纳入MATLAB系统统一管理。 (1)用path命令设置搜索路径 (2)用对话框设置搜索路径
·
系统科学研究所
统程序设计语言一样进行程序设计,而且结合MATLAB的数值计算和

MATLAB语言基础与应用(第二版)第5章 习题答案

MATLAB语言基础与应用(第二版)第5章 习题答案

第5章习题与答案5.1用矩阵三角分解方法解方程组123123123214453186920x x x x x x x x x +-=⎧⎪-+=⎨⎪+-=⎩ 解答:>>A=[2 1 -1;4 -1 3;6 9 -1] A =2 1 -1 4 -13 6 9 -1 >>b=[14 18 20]; b =14 18 20 >> [L, U, P]=lu(A) L =1.0000 0 0 0.6667 1.0000 0 0.3333 0.2857 1.0000 U =6.0000 9.0000 -1.0000 0 -7.0000 3.6667 0 0 -1.7143 P =0 0 1 0 1 0 1 0 0 >> y=backsub(L,P*b’) y =20.0000 4.6667 6.0000 >> x=backsub(U,y) x =6.5000 -2.5000 -3.5000 5.2 Cholesky 分解方法解方程组123121332352233127x x x x x x x ++=⎧⎪+=⎨⎪+=⎩ 解答:>> A=[3 2 3;2 2 0;3 0 12] A =3 2 32 2 03 0 12>> b=[5;3;7]b =537>> L=chol(A)L =1.7321 1.1547 1.73210 0.8165 -2.44950 0 1.7321>> y=backsub(L,b)y =-11.6871 15.7986 4.0415>> x=backsub(L',y)x =-6.7475 28.8917 49.93995.3解答:观察数据点图形>> x=0:0.5:2.5x =0 0.5000 1.0000 1.5000 2.0000 2.5000 >> y=[2.0 1.1 0.9 0.6 0.4 0.3]y =2.0000 1.1000 0.9000 0.6000 0.4000 0.3000 >> plot(x,y)图5.1 离散点分布示意图从图5.1观察数据点分布,用二次曲线拟合。

第六讲 MATLAB数值计算

第六讲 MATLAB数值计算

5.2.4 矩阵的秩
求矩阵秩的函数: rank(A)。
例如,求例 5.7 中方程组系数矩阵 D 的秩,命令是:
D=[2, 2, -1, 1; 4, 3, -1, 2; 8, 5, -3, 4; 3, 3, -2, 2]; r=rank(D) r= 4
说明D是一个满秩矩阵。
5.2.5 向量和矩阵的范数
第五讲 MATLAB数值计算
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 特殊矩阵 矩阵分析 矩阵分解与线性方程组求解 数据处理与多项式计算 傅立叶分析 数值微积分 常微分方程的数值求解 非线性方程的数值求解 稀疏矩阵
5.1 特殊矩阵
5.1.1 对角阵与三角阵
1. 矩阵的对角元素 (1)提取矩阵的对角线元素 设 A 为 m×n 矩阵, diag(A) 函数用于提取矩阵 A主对 角线元素产生一个具有min(m,n)个元素的列向量。 (2)构造对角矩阵
2. 矩阵的伪逆
对奇异方阵和长方阵,求矩阵伪逆的函数是 pinv(A)。
例5.5 求A的伪逆,并将结果送B。 A=[3,1,1,1; 1,3,1,1; 1,1,3,1]; B=pinv(A) 例5.6 求矩阵A的伪逆。 A=[0,0,0; 0,1,0; 0,0,1]; pinv(A)
5.2.3 方阵的行列式
函数A = pascal(n)生成一个n阶的帕斯卡矩阵。
1 1 3 4 6 10 10 20 15 35
1 5 15 35 70
5.2 矩阵分析
5.2.1 矩阵结构变换
1. 矩阵的转置
转置运算符是单撇号(')。
2. 矩阵的旋转
矩阵的旋转利用函数 rot90(A,k) ,功能是将矩阵 A旋 转90º 的k倍,当k为1时可省略。

MATLAB中的数据处理

MATLAB中的数据处理

四、使用输入函数 对于大量的数据,或者格式更加复杂的数据文件,以上方法就不 太方便,此时针对不同格式的数据文件,可以采用相应的输入函数导 入数据。 1、load 函数 装载 Matlab 格式的数据文件(.mat)和文本格式的定界符为空格的 矩形文件。 例:载入文件“data02.txt”中的数据 2、dlmread 函数 将带有定界字符的 ASCII 数字数据读入矩阵 常用格式: M=dlmread(‘filename’) 是默认定界符。 M=dlmread(‘filename’,delimiter),指定定界符。 M=dlmread(‘filename’,delimiter,R,C),从矩形数据的左上角 R 行、C 列的位置开始读入。 注意:矩形数据的开始位置是 0 行 0 列。 M=dlmread(‘filename’,delimiter,range) ,读取用 range 指定范围的数 据,range=[R1 C1 R2 C2],R1C1 是左上角的行列号,R2C2 是右下角 的行列号;range 也可以用如下表示法:range=’A1..B7’。 例:对于 data02.txt 中的数据 >> dlmread('d:\data\data02.txt') %读全部数据 %Matlab 从文件格式中推断定界符,逗号
num = xlsread(filename, -1) %将在 Excel 窗口打开 filename 文件, 可以交互选择工作区中的数据文件; num = xlsread(filename, sheet) %选择工作表 sheet,默认为第一 个工作表; num = xlsread(filename, range) %指定工作表中的数据范围, 如’A4:B5’ num = xlsread(filename, sheet, range) 例:将电子表格 data01.xls 中的数据载入到 Matlab 工作区 >> xlsread('d:\data\data01')

MATLAB_数值计算

MATLAB_数值计算

b31 b32 b33

对于编程语言,矩阵就是二维的数组
2.1 MATLAB的基本计算
数学计算分为数值计算与符号计算,前者 不允许出现未定义变量,后者允许。(Eg 2-1) 常用的基本数学函数表。 (Eg 2-2)
Eg 2-1
三角函数
函数
sin sinh asin cos acos
说明
正弦函数 双曲正弦函数 反正弦函数 余弦函数 反余弦函数
MATLAB数值计算
2.1 MATLAB的基本计算 2.2 MATLAB矩阵和数组 2.3 关系和逻辑运算 2.4 多项式 2.5 稀疏矩阵 2.6 数据分析函数 2.7 数值分析
概述
在M语言中最常用的数据类型表现手段和形
式就是变量和常量
M语言的基本处理单位是数值矩阵或者数值
Eg 2-14 低维数组合成高维数组
建立3阶魔方及帕斯卡数组
将A、B串联成三维数组
cat(1,A,B)=[A;B]
cat(2,A,B)=[A,B]
>> A=eye(4) A= 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 >> A(:,:,2)=eye(4)*10; >> A(:,:,3)=eye(4)*100 A(:,:,1) = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 A(:,:,2) = 10 0 0 0 0 10 0 0 0 0 10 0 0 0 0 10 A(:,:,3) = 100 0 0 0 0 100 0 0 0 0 100 0 0 0 0 100
复数运算函数
函数
abs
பைடு நூலகம்
说明
求复数的模,若参数为实数则求绝对值

matlab多项式与特征方程

matlab多项式与特征方程

MATLAB是一种常用的数学软件,它在科学计算领域有着广泛的应用。

在MATLAB中,多项式和特征方程是两个非常重要的概念。

本文将首先介绍多项式的相关知识,然后深入探讨多项式在MATLAB中的应用。

接着会详细介绍特征方程及其在MATLAB中的应用。

希望本文对读者能有所帮助。

一、多项式1. 多项式的定义多项式是代数学中的基本概念之一。

它是由若干个数与字母的乘积相加而成的代数式。

一般地,多项式的形式可以表示为:P(x) = a0 + a1x + a2x^2 + ... + anx^n其中,P(x)为多项式,x为自变量,a0, a1, ..., an为系数,n为多项式的次数。

2. MATLAB中的多项式表示在MATLAB中,可以使用polyval函数来计算多项式的值,使用polyfit函数来拟合数据得到多项式方程。

给定一组数据点(x, y),可以使用polyfit函数拟合出最佳拟合多项式,并使用polyval函数计算出对应x值时的多项式函数值。

3. MATLAB中的多项式运算MATLAB提供了丰富的多项式运算函数,例如polyadd、polymul、polyder、polyint等。

通过这些函数,可以方便地进行多项式的加法、乘法、求导、积分等运算。

二、特征方程1. 特征方程的定义特征方程是矩阵论中的一个重要概念。

对于一个n阶方阵A,其特征方程可以表示为:det(A - λI) = 0其中,det表示矩阵的行列式,λ是特征值,I为单位矩阵。

特征方程的解即为矩阵A的特征值。

2. MATLAB中的特征方程求解在MATLAB中,可以使用eig函数来求解特征方程。

eig函数可以计算出矩阵的所有特征值和对应的特征向量。

这对于解决线性代数中的特征值和特征向量相关问题非常有用。

3. 特征方程的应用特征方程在科学计算领域有着广泛的应用,例如在控制系统、信号处理、结构力学等方面都有重要作用。

通过求解特征方程,可以分析和预测系统的稳定性、自由振动特性等。

第5讲MATLAB多项式及插值

第5讲MATLAB多项式及插值
第5讲MA上的较大元素构成的 新矩阵p。
第5讲MATLAB多项式及插值
5.1.2 求和与求积
数据序列求和与求积的函数是sum和prod,其使用方 法类似。设X是一个向量,A是一个矩阵,函数的调用格 式为:
sum(X):返回向量X各元素的和。 prod(X):返回向量X各元素的乘积。 sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。 prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。 sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时, 返回一个列向量,其第i个元素是A的第i行的各元素之和。 prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时, 返回一个列向量,其第i个元素是A的第i行的各元素乘积。
为解决Rung问题,引入分段插值。 第5讲MATLAB多项式及插值
算法分析:所谓分段插值就是通过插值点用折线或低次曲线 连接起来逼近原曲线。
MATLAB实现 可调用内部函数。 ➢ 命令 interp1
功能 : 一维数据插值(表格查找)。该命令对数据点之 间计算内插值。它找出一元函数f(x)在中间点的数值。其 中函数f(x)由所给数据决定。
t = 1900:10:1990; p = [75.995 91.972 105.711 123.203 131.669...
150.697 179.323 203.212 226.505 249.633]; 对应于美国从1900年到1990年的每10年的人口数,求 1975年的人口。由此推断美国1900年到2000年每一年的 人口数,并画出图形。
k1
j1
xxj ) xk xj
jk
MATLAB中没有直接实现拉格朗日算法的函数,我们已经介 绍过该函数的书写:

MATLAB基础及应用课件(下)第5-8章

MATLAB基础及应用课件(下)第5-8章
图5-4中间的下拉框可以选择拟合算法,可以 试用多种拟合算法,以找出最佳拟合图形。例 如选择Smoothing Spline(平滑样条函数), 观察Curve Fitting Tool窗口,如图5-5所示。
图5-5 拟合曲线
第5章 MATLAB数值计算
第5章 MATLAB数值计算
5.4.4 图形窗口的拟合和统计工具
第5章 MATLAB数值计算
在图5-6中的“绘制拟合图”中选择拟合方 法(可同时选多种);
“显示方程”复核框可以选择是否在图形上 显示拟合多项式;
“绘制残差图”复核框选中时会产生第二幅 图形,该图形显示了每一个数据点与计算出来的 拟合曲线之间的距离。
例如选择“线性”和“三次方”拟合方法, 同时选中两个复核框,产生图形如图5-7所示。
MATLAB的图形窗口中提供了简单方便的数 据拟合和基本统计工具。
数据拟合工具可以对所绘制的曲线使用多种 方法进行拟合;
基本统计工具可提供最小值、最大值、平均 值、中位值、标准差、数据范围等统计运算。
1.数据拟合工具
第5章 MATLAB数值计算
使用数据拟合工具首先需要创建一幅图形,在 命令行窗口输入以下程序:
两个矩阵x和y的相关系 数
第5章 MATLAB数值计算
5.2 数值运算 一、 多项式
名称
创建多项 式
求根
求值
多项式乘 法
多项式除 法
多项式求 导
函数格式 P=[ a0 a1 a2 …an-1
an] P=poly(A) roots(P) polyval(P,A)
polyvalm(P,m)
说明
P为多项式(以下各函数中P均为多项式),a0 a1 a2 … an-1 an为按降幂顺序排列的多项式系数 A为向量。创建以向量A中元素为根的多项式
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【例5.9】表5.3所示为我国0~6个月婴儿的体重、身 长参考标准,用3次样条插值分别求得婴儿出生后半 个月到5个半月每隔1个月的身长、体重参考值。
表5.3 我国婴儿体重、身长计量表
出生 身长(cm) 50.6 体重(kg) 3.27 1月 56.5 4.97 2月 59.6 5.95 3月 62.3 6.73 4月 64.6 7.32 5月 65.9 7.70 6月 68.1 8.22
2.相关系数
相关系数用来衡量两组数据之间的线性相关程度。 corrcoef函数用于求数据的相关系数矩阵。 ● corrcoef(X,Y):求向量X和Y的相关系数。 ● corrcoef(X):返回从矩阵X形成的一个相关系 数矩阵。它把矩阵X的每列作为一个变量,然后 求它们的相关系数。
【例5.7】随机抽取15名健康成人,测定血液的凝血 酶浓度及凝血时间,分析凝血酶浓度与凝血时间之间 的相关性。 命令如下: X=[1.1,1.2,1.0,0.9,1.2,1.1,0.9,0.6,1.0,0.9,1.1,0.9,1.1, 1,0.7]'; Y=[14,13,15,15,13,14,16,17,14,16,15,16,14,15,17]'; R=corrcoef(X,Y) R= 1.0000 -0.9265 -0.9265 1.0000 求得的R说明凝血酶浓度与凝血时间之间的相关程度较 高。
5.1.3 平均值和中值
数据序列的平均值指的是算术平均值。中值是指在数据序列中 其值的大小恰好处在中间的元素。例如: 数据序列 2,5,7,9,12的中值为7 如果数据为偶数个,则中值等于中间的两项之平均值。例如, 数据序列 2,5,6,7,9,12中,处于中间的数是6和7,故 其中值为此两数之平均值6.5。 求数据序列平均值的函数是mean,mean函数的调用格式如下。 ● mean(A):如果A是一个向量,则返回向量的算术平均值。如 果A是一个矩阵,则返回一个行向量,其第i个元素是A的第i列 的算术平均值。 ● mean(A,dim):当dim为1时,该函数等同于mean(A);当dim 为2时,返回一个列向量,其第i个元素是A的第i行的算术平均 值。 求数据序列中值的函数是median,其用法和mean完全相同。
【例5.2】已知 , 求矩阵x、y所有同一位置上的较大元素构成的 新矩阵p。
45 73 34 84
443 x 67
43 43
65 y 61
34 326
x=[443,45,43;67,34,-43]; y=[65,73,34;61,84,326]; p=max(x,y) p= 443 73 43 67 84 326
5.1.6 排序
MATLAB提供了对向量X进行排序的函数sort(X), 函数返回一个对X中的元素按升序排列的新向量。 sort函数也可以对矩阵A的各列或各行重新排序, 其调用格式为 [Y,I]=sort(A,dim,mode) 其中Y是排序后的矩阵,而I记录Y中的元素在A中 的位置。dim指明对A的列还是行进行排序,若 dim = 1,则按列排;若dim = 2,则按行排。 mode指明按升序还是降序排序,'ascend'为升序, 'descend'为降序。dim默认取1,mode默认取 'ascend'。
2
32
64
5.1.5 标准方差与相关系数
1.求标准方差 方差描述了一组数据波动的大小,方差越小,数据波 动越小。在MATLAB中,提供了计算数据序列的标 准方差的函数std。对于向量X,std(X)返回一个标准 方差。对于矩阵A,std(A)返回一个行向量,它的各 个元素便是矩阵A各列或各行的标准方差。std函数的 一般调用格式为: Y=std(A,flag,dim) 其中flag取0或1,当flag = 0时,按σ1所列公式计算 标准方差;当flag = 1时,按σ2所列公式计算标准方 差。dim取1或2,当dim = 1时,求各列元素的标准 方差;当dim = 2时,则求各行元素的标准方差。默 认flag = 0,dim = 1。
【例5.6】某次射击选拔比赛中小明与小华的10次射击 成绩(单位:环)记录在矩阵a中,试比较两人的成绩。
a=[7,4,9,8,10,7,8,7,8,7;7,6,10,5,9,8,10,9,5,6]'; mean(a) ans = 7.5000 7.5000 std(a) ans = 1.5811 1.9579 两人成绩的平均值相同,但小明的成绩的标准方差较小, 说明小明的成绩波动较小,成绩更稳定。
2 10 s 1 2 2 ... 2 【例5.5】求
的值。
命令如下: x=[1,ones(1,10)*2] x= 1 2 2 2 2 2 2 2 2 2 y=cumprod(x) y= Columns 1 through 7 1 2 4 8 16 Columns 8 through 11 128 256 512 1024 s=sum(y) s= 2047
【例5.8】对二维矩阵 1
命令如下: A=[1,-8,5;4,12,6;13,7,-13]; sort(A,2,‘descend’) %对A的每行按降序排序 Ans= 5 1 -8 12 6 4 13 7 -13 [X,I]=sort(A) %对A按列排序,并将每个元素所在行号送矩阵I X= I= 1 -8 -13 1 1 3 4 7 5 2 3 1 13 12 6 3 2 2
数据序列求积的函数是prod,其用法和sum完全 相同。
【例5.3】已知 ,求矩阵A的每 行元素的成绩和全部元素的乘积。
10 11
1 A 5 9
2 6
3 7
4 8 12
A=[1:4;5:8;9:12]; S=prod(A,2) %求每行元素的乘积 S= 24 1680 11880 P=prod(S) %求全部元素的乘积,即12! P= 479001600
第5章 数据处理与多项式计算
Hale Waihona Puke 【本章学习目标】● ● ● ● 掌握数据统计和分析的方法。 掌握数值插值与曲线拟合的方法及其应用。 掌握快速傅立叶变换的应用方法。 掌握多项式的常用运算。
5.1 数据统计处理
5.1.1 最大值和最小值 1.求最大值和最小值 ● max(A):如果A是向量,则返回向量A的最大值。如果A 中包含复数元素,则按模取最大值。如果A是矩阵,则返 回一个行向量,向量的第i个元素是矩阵A的第i列上的最大 值。 ● [Y,U] = max(A):如果A是向量,则返回向量A的最大值存 入Y,最大值的序号存入U。如果A中包含复数元素,则按 模取最大值。如果A是矩阵,则Y向量记录A的每列的最大 值,U向量记录每列最大值的行号。 ● max(A,[],dim):仅用于矩阵。dim取1或2。dim取1时, 该函数和max(A)完全相同;dim取2时,该函数返回一个 列向量,其第i个元素是A矩阵的第i行上的最大值。
【例5.1】分别求矩阵 54 90 列和各行元素中的最大值。 23

86 32 12
453 64 71
45 54 18
中各
x=[54,86,453,45;90,32,64,54;-23,12,71,18]; [y,l]=max(x) %求矩阵x中各列元素的最大值及其这些元素的行下标 y= 90 86 453 54 l= 2 1 1 2 y=max(x,[ ],2) %命令中dim=2,故查找操作在各行中进行 y= 453 90 71
5.2.1 一维数据插值
若已知的数据集是平面上的一组离散点集,即被插值函数是一个单变 量函数,则数值插值问题称为一维插值。在MATLAB中,实现插值的 函数是interp1,其调用格式为 Y1=interp1(X,Y,X1,'method') 函数根据X、Y的值,计算函数在X1处的值。X、Y是两个等长的已知 向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值 的点,Y1是一个与X1等长的插值结果。method是插值方法,允许的 取值如下: ● 'linear':线性插值。线性插值是默认的插值方法。它是把与插值点靠 近的两个数据点用直线连接,然后在直线上选取对应插值点的数据。 ● 'nearest':最近点插值。根据已知插值点与已知数据点的远近程度进 行插值。插值点优先选择较近的数据点进行插值操作。 ● 'cubic':3次多项式插值。根据已知数据求出一个3次多项式,然后根 据该多项式进行插值。 ● 'spline':3次样条插值。所谓3次样条插值,是指在每个分段(子区 间)内构造一个3次多项式,使其插值函数除满足插值条件外,还要 求在各节点处具有光滑的条件。
% 偶数个元素
5.1.4 累加和与累乘积
所谓累加和或累乘积,是指从数据序列的第1元素开始直 到当前元素进行累加或累乘,作为结果序列的当前元素值。 在MATLAB中,使用cumsum和cumprod函数求得向量 和矩阵元素的累加和与累乘积向量。cumsum函数的调用 格式如下。 ● cumsum(A):如果A是一个向量,则返回向量的累加和。 如果A是一个矩阵,则返回一个矩阵,其第i列是A的第i列 的累加和向量。 ● cumsum(A,dim):当dim为1时,该函数等同于 cumsum(A);当dim为2时,返回一个矩阵,其第i行是A 的第i行的累加和向量。 求累乘积的函数是cumprod,其用法和cumsum完全相 同。
5.1.2 求和与求积
数据序列求和的函数是sum。sum函数的调用格 式如下。
–● sum(A):如果A是一个向量,则返回向量各元 素的和。如果A是一个矩阵,则返回一个行向量,其第i 个元素是A的第i列的元素和。 –● sum(A,dim):当dim为1时,该函数等同于 sum(A);当dim为2时,返回一个列向量,其第i个元 素是A的第i行的各元素之和。
相关文档
最新文档