MATLAB基础与应用chapter4-1

合集下载

MATLAB基础及应用

MATLAB基础及应用
1984年——MathWorks公司成立
R2015b - 发行时间 2015年9月3日
2016年3月25日 南昌航空大学 软件学院 5
1.3 MATLAB的功能
强大的科学计算、数据处理能力
基本的计算、科研和工程计算的最新研究成果
出色的图形处理与显示能力 功能强大的模块集和专业工具箱
符号运算、优化、图像处理、偏微分方程工具箱
可编程解决复杂问题——M文件 丰富的程序接口——C语言、ZEMAX 丰富的联机帮助系统
2016年3月25日 南昌航空大学 软件学院 6
MATLAB的绘图——cos(x)*sin(y)图形
1 0.5 0 -0.5 -1 4 2 0 -2 -4 -5 0 5
M文件分类
脚本(命令)文件:只是一些命令行的组合,其中 的所有变量也成为工作变量空间的一部分。 函数文件:单独功能的代码块,需要接受参数输入 和输出,函数M文件具有独立的内部变量空间。
MATLAB提供的大部分函数都用函数文件实现。
2016年3月25日
南昌航空大学 软件学院
39
4.2 MATLAB的编程——脚本文件编程
MATLAB基础及应用
MATLAB—必须掌握的计算机语言之一
科学研究的强大辅助工具
数学运算:线性代数/微积分/概率统计
专业课学习工具
工程或生活中实际问题的解决工具
2016年3月25日
南昌航空大学 软件学院
2
第一章 认识MATLAB
1.1 MATLAB简介
美国MathWorks公司推出的科学及工程计算
2016年3月25日 南昌航空大学 软件学院 33
3.3 MATLAB的绘图——三维网格曲面绘制

matlab编程基础与工程应用第四章PPT课件

matlab编程基础与工程应用第四章PPT课件

clear;clc;
%直接赋值法一:生成元胞数组
a(1,1)={[1 3 6;4 7 9;2 5 8]};
a(1,2)={'Hello'};
a(2,1)={(0:0.2:pi)};
a(2,2)={52};
a
2021/3/9
授课:XXX
4
%直接赋值法二:生成元胞数组
b={randn(2,3),'Carrot'; 1+2i,1:20}
在命令行窗口输入下列命令
>> A=cell(2)
%建立22空元胞数组
A=
[] []
[] []
>> B=cell(3,4)
%建立34空元胞数组
B=
[] [] [] []
[] [] [] []
[] [] [] []
>> C=cell(2,3,4)
%建立多维空元胞数组
C(:,:,1) =
[] [] []
[] [] []
2021/3/9
授课:XXX
10
“元胞标识”:以二维元胞数组a为例,a(2,1)是指中的第 2行第1列的元胞元素;
cell函数的语法为: c = cell(n);建立nn的空元胞数组。 c = cell(m, n)或c = cell([m, n]);建立mn的空元胞数组。 c = cell(size(A));建立与A数组同样尺寸的空元胞数组
2021/3/9
授课:XXX
8
【例4.1-3】用cell函数建立元胞数组
%直接赋值法三:生成元胞数组
c=[{randn(2,3)},{'Carrot'};{1+2i},{1:20}]

第四章 MATLAB的应用

第四章  MATLAB的应用

作业
1.已知p(x)=4x3+3x2+2x+5;q(x)=x+1 (1)试求q(x)的4次幂 (2)求p(x)/q(x) (3)p(x)的一阶、二阶和三阶导数 (4)绘制x=(1,10)范围内的p(x)和q(x)的曲线 2. 已知y=sin(x),x=(0,pi),试分别用3,5,7阶多 项式拟合此曲线,比较原数据与拟合后数 据的差异情况,并将绘制相应曲线和误差 曲线。
在传统的牛顿环测定透镜表面曲率半径实验中, 在传统的牛顿环测定透镜表面曲率半径实验中 为简化实验 数据的处理, 省略了(1) 式中的二次项 2λ2 , 即Dk2 = 4Rkλ, 式中的二次项Bk 数据的处理 省略了 变换该式得曲率半径R 变换该式得曲率半径 = (Dk2 - Dk’2) / 4λ (k - k’) 将表1 数据及λ= 代入, 计算知P 将表 数据及 5893A 代入 计算知 = 2323.1mm由于省略 由于省略 了二次项, 了二次项 这种处理实际上是将透镜表面近似为旋转抛物面对 待, 因此给测量结果带来了理论误差
第四章 MATLAB的应用
4.1 多项式的运算
多项式的生成和表达 1、多项式的表达 、 在MATLAB环境下多项式是用向量的形式表达 环境下多项式是用向量的形式表达 向量最右边的元素表示多项式的0阶 向左数依 右边的元素表示多项式的 的。向量最右边的元素表示多项式的 阶,向左数依 次表示多项式的第1阶 次表示多项式的第 阶、第2阶、第3阶……。 阶 阶 。 例如多项式5x 表示为[5 例如多项式 4+3x2+2x+1表示为 0 3 2 1]。 表示为 。
作业2程序: >> x=0:0.1:pi; >> y=sin(x); >> p=polyfit(x,y,7); >> z=polyval(p,x); >> figure;plot(x,y,'b',x,z,'r'); >> figure;plot(x,y-z);

matlab基础及其应用

matlab基础及其应用

matlab基础及其应用MATLAB Basic and Its Application1、IntroductionMATLAB(Matrix Laboratory),是由The MathWorks, Inc.公司出版的商业数学软件包,它在矩阵计算、科学数据可视化、计算机程序设计语言等方面具有很强的功能,它的强大和易用及跨平台功能被国外广泛应用,是科学计算、信号处理、量子力学、系统监控、逆向工程、机器学习等领域的标准软件。

2、FeaturesMATLAB的优势主要有以下几点:(1) MATLAB是一个完整的交互式环境,可以实现图形用户界面、精确的数值计算、数据可视化以及高级编程。

(2) MATLAB可以用来操作大型矩阵、数组,支持向量化语言,利用它可以进行矩阵的运算,而不用写复杂的程序,其代码是可读性非常强的,计算速度快,省去了很多复杂的计算时间。

(3) MATLAB适用于数据分析、机器学习、计算机视觉等多种领域,是一款功能强大的工具箱,为用户提供了丰富的函数库来实现不同的计算任务。

(4) MATLAB可以与其他计算机语言进行交互,可以调用C、C++,java或其他语言进行实现,也可以生成可执行文件。

3、ApplicationMATLAB的应用非常广泛,它能帮助用户实现以下任务:(1) 用来创建算法:MATLAB是一种强大的算法开发工具,可以使用MATLAB语言和面向对象的功能快速创建精确的算法。

(2) 用来实现系统仿真:MATLAB可以快速模拟复杂系统,绘制多种图形,更容易理解系统的行为。

(3) 用来实现信号处理:MATLAB可以对连续信号和数字信号进行处理,支持函数库、信号处理工具箱和语音处理工具箱。

(4) 用来实现机器学习:MATLAB可以实现机器学习算法,用来构建复杂的模型和算法,包括预测和分类,以及用来处理大量数据。

(5) 用来实现数据可视化:MATLAB可以实现高级数据可视化,用来更好地理解和探索数据,而不需要进行复杂的程序编写。

MATLAB编程入门与应用

MATLAB编程入门与应用

MATLAB编程入门与应用第一章:MATLAB简介与安装1.1 MATLAB的定义与概述1.2 MATLAB的优势与应用领域1.3 MATLAB的安装与配置第二章:MATLAB基础语法2.1 MATLAB的变量与数据类型2.2 MATLAB的算术运算与逻辑运算2.3 MATLAB的控制流程语句2.4 MATLAB的函数与脚本文件第三章:向量与矩阵运算3.1 MATLAB中的向量与矩阵定义与操作3.2 常见的向量与矩阵运算函数3.3 矩阵运算的应用案例第四章:数据可视化与绘图4.1 MATLAB绘图基础4.2 MATLAB中的二维绘图函数与参数4.3 MATLAB中的三维绘图函数与参数4.4 数据可视化的应用案例第五章:数据处理与统计分析5.1 数据导入与导出5.2 数据清洗与预处理5.3 常见的数据处理与统计分析函数5.4 数据处理与统计分析的应用案例第六章:图像处理与计算机视觉6.1 图像处理基础6.2 MATLAB中的图像处理函数与工具箱6.3 图像处理与计算机视觉的应用案例第七章:信号处理与数字信号处理7.1 信号处理基础7.2 MATLAB中的信号处理函数与工具箱7.3 信号处理与数字信号处理的应用案例第八章:机器学习与深度学习8.1 机器学习与深度学习基础8.2 MATLAB中的机器学习与深度学习工具箱8.3 机器学习与深度学习的应用案例第九章:MATLAB编程技巧与调试9.1 MATLAB编程技巧与规范9.2 MATLAB中的调试方法与工具9.3 常见的MATLAB编程问题与解决方法第十章:MATLAB与其他编程语言的结合10.1 MATLAB与C/C++的结合10.2 MATLAB与Python的结合10.3 MATLAB与Java的结合第十一章:MATLAB在工程与科学领域的应用11.1 MATLAB在工程领域的应用11.2 MATLAB在科学研究中的应用11.3 MATLAB在其他领域的应用与前景展望结语通过本文的介绍,读者对MATLAB的编程入门与应用有了更加全面的了解。

MATLAB基础及应用教程

MATLAB基础及应用教程

1)
和( 2)是必须的。
【例 4-1 】分析下面函数文件。
% 一个数列,任意项等于前两项之和,输入项数可以给出这个数列
function [a]=sul(n)
if n==1
a=1;
else if n==2
a=2;
end
b(1)=1;
b(2)=2;
for i=3:n
b(i)=b(i-2)+b(i-1);
>> p=sul(5)
p=
1
2
3
5
8
【例 4-2 】分析下面函数文件。
% 一个数列的通项公式为 a(n+1)=a(n)+n^2, 给定任意项的值,求这个数列的后
离散函数图
function [b]=shulie(n,zhi)%zhi 为初值
10 项,并画
b(1)=zhi
MATLAB
的工作空间中, 同时脚本文件也可以调用工作空间中的数据。 因此, 脚本文件所涉及的变量
是全局变量。前几章所涉及到的 M文件都是这类脚本文件。
编辑一个脚本文件可以直接在命令窗口的左上角打开编辑窗进行编辑。
4.1.2 函数文件( function )
函数式文件( function )的构成
( 1)函数定义行:
第 4 章 程序设计
在前面我们已经看到, MATLAB不但可以在命令窗直接输入命令并运行,而且还可以生 成自己的程序文件, 这就是我们通常说的一类以 M为后缀的 M文件,本章我们就来研究这类 文件的形成方法。
M文件可分分为两大类, 一是命令式 M文件 (也称为脚本文件, script ),二是函数式 M 文件( function )。两类文件的区别在于:

matlab第四章课件


4.1.1 M文件的分类
M文件是由若干 Matlab 命令组合在一起构成的,它可 以完成某些操作,也可以实现某种算法
事实上,Matlab 提供的内部函数以及各种工具箱,都是利用 Matlab 语言编写的 M文件 用户也可以结合自己的工作需要,开发自己的程序或工具箱
M文件根据调用方式的不同可以分为两类: Script file:命令文件/脚本文件 Function file:函数文件
例2 输入x,y的值,并将它们的值互换后输出(swap.m)。 x=input('Input x please.'); y=input('Input y please.'); z=x; x=y; y=z; disp(x); disp(y); 例3 求一元二次方程ax2 +bx+c=0的根(root.m)。 a=input('a=?'); b=input('b=?'); c=input('c=?'); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]; disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);
例如:
s=0; a=[12 13 14;15 16 17;18 19 20;21 22 23] for k=a s=s+k; end disp(s); 该程序的功能是求矩阵各行元素之和,执行结果是: 39 48 57 66
while语句
while expr (条件) statement(循环体语句) end 若expr成立,则执行循环体的内容,执行后 再判断条件是否为真,如果不成立则跳出循环体。

MATLAB基础知识及使用方法

MATLAB基础知识及使用方法第一章:MATLAB简介与环境介绍1.1 MATLAB概述MATLAB是一种高级编程语言和数值计算环境,广泛应用于科学计算、工程设计、数据分析和算法开发等领域。

它提供了强大的数值计算工具和图形绘制功能,并有丰富的库函数和工具箱可供使用。

1.2 MATLAB环境介绍MATLAB的主要界面包括命令窗口、编辑器、工作区和命令历史等。

命令窗口用于交互式执行命令和脚本,编辑器用于编写和编辑脚本文件,工作区用于显示和管理变量,命令历史用于查看和管理执行过的命令。

第二章:MATLAB基本语法2.1 变量和数据类型在MATLAB中,变量可以通过简单的赋值来创建,并且不需要事先声明变量类型。

常见的数据类型包括数值类型(整数、浮点数)、字符类型和逻辑类型(布尔型)等。

MATLAB还提供了复数类型和矩阵类型,具有丰富的数值计算功能。

2.2 运算符和表达式MATLAB支持常见的数学运算符,如加减乘除、取余和乘方等。

此外,还提供了矩阵运算符和逻辑运算符,方便处理矩阵和逻辑表达式。

表达式可以由变量、常数和运算符组合而成,并且支持函数调用。

2.3 控制流程MATLAB提供了条件语句(if-else)、循环语句(for、while)和函数等控制流程结构,以实现不同的程序逻辑。

条件语句根据条件的真假执行不同的代码块,循环语句重复执行一段代码块,函数封装了一段可重复使用的代码。

第三章:MATLAB图形绘制3.1 二维图形绘制MATLAB提供了丰富的函数和工具箱,以绘制各种二维图形,如线图、散点图、柱状图和饼图等。

用户可以自定义图形样式、坐标轴刻度、图例和注释等,以满足不同的数据可视化需求。

3.2 三维图形绘制除了二维图形外,MATLAB还支持绘制三维图形,如曲面图和体积图等。

通过调整视角、设置颜色映射和光照效果,用户可以更直观地表达三维数据的特征和分布情况。

3.3 动态图形绘制MATLAB中的图形绘制功能不仅限于静态图形,还可用于生成动态图形。

Matlab工程应用基础_4_1

x=0:0.01:2*pi; y=cos(x); plot(x,y)
在同一图形窗口中用命令 绘出正弦余弦函数的图形. 在同一图形窗口中用命令 plot(x,y)绘出正弦余弦函数的图形. 绘出正弦余弦函数的图形
x=0:0.01:2*pi; y=[sin(x);cos(x)]; plot(x,y)
用命令plot(Y)绘制矩阵 Y=[5 4 3 8 9 10;3 4 4 5 8 2 ;8 12 13 21 18 25 ; 用命令 绘制矩阵 ; 9 8 8 9 6 7]的图形. 的图形. 的图形
x=0:0.1:6; y=sqrt(x); plotyy(x,y,x,y,'semilogy','plot')
plotyy 函数不能加入设置曲线线型,颜色及标出数据点的参数. 函数不能加入设置曲线线型,颜色及标出数据点的参数.
第4章 Matlab的图形功能 章 的图形功能
2.线型和颜色 线型和颜色 plot 函数可以设置曲线的线段类型,定点标记和线段颜色. 函数可以设置曲线的线段类型 定点标记和线段颜色. 线段类型, 常用的线段,颜色与定点标记参数 常用的线段,
Y=[5 4 3 8 9 10;3 4 4 5 8 2 ;8 12 13 21 18 25 ;9 8 8 9 6 7]; plot(Y)
第4章 Matlab的图形功能 章 的图形功能
混合式的命令格式 的命令格式plot(X,Y)中,对X和Y而言,可分下 而言, 在混合式的命令格式 中 和 而言 列几种情况: 列几种情况: 都是向量,则长度必须相等; ◆如果 X 和 Y 都是向量,则长度必须相等; 是向量, 是一个矩阵, ◆如果 X 是向量,而 Y 是一个矩阵,X 的长度与矩阵 Y 的行数或列数相等, 的行数或列数相等,则它的作用是将向量 X 与矩阵 Y 的 每列或每行的向量相对应作折( 方阵时 每列或每行的向量相对应作折( 曲)线,当 Y 是方阵时, 列向量对应作图 对应作图; 则将向量 X 与矩阵 Y 的列向量对应作图; 是矩阵, 是向量, ◆如果 X 是矩阵,Y 是向量,Y 的长度等于矩阵 X 的行 数或列数, 相对应作图. 数或列数,则将 X 的每列或每行的向量与 Y 相对应作图. 方阵时 的各列与 对应作图; 当 X 是方阵时,则将 X 的各列与 Y 对应作图; 都是矩阵,且维数相同,则按列与列 列与列的对 ◆如果 X 和 Y 都是矩阵,且维数相同,则按列与列的对 应方式来作图. 应方式来作图.

matlab基础与应用 第4章


第四章 MATLAB编程基础 注意: while循环结构的关系表达式可以是某个数据变量或者常 量,这时,将按照非零值为逻辑真进行相应的操作。另外, 在进行上述操作时,若数据变量为空矩阵,则while语句将空 矩阵作为逻辑假处理,也就是说,在while A MATLAB语句S1 end结构中,若A为空矩阵,则MATLAB语句S1永远不会被执 行。
第四章 MATLAB编程基础 1.while循环结构 . 循环结构 while语句可以用来实现“当”型的循环结构,它的一般形式如 下: while(表达式) MATLAB语句 end 当表达式为真时,循环将执行由语句构成的循环体,其特 点是先判断循环条件,如果循环条件成立,即表达式运算结果 为“真”,再执行循环体。循环体执行的语句可以是一句也可 以是多句,在MATLAB语句之后必须使用关键字end作为整个循 环结构的结束。另外,在循环过程中一定要能够改变关系表达 式或者布尔类型变量的值,或者使用其他方法来跳出循环,否 则会陷入死循环(无法正常退出的循环叫作死循环)。
第四章 MATLAB编程基础
4.2 流 程Leabharlann 控 制4.2.1 选择结构 当人们判断某一条件是否满足,根据判断的结果来选择不同的 解决问题的方法时,就需要使用选择结构。和C语言类似, MATLAB的条件判断可以使用if语句或者switch 语句。
第四章 MATLAB编程基础 4.2.1.1 if语句 语句 if语句的基本语法结构有三种,分别如下: (1) if (关系运算表达式) MATLAB语句 end 这种形式的选择结构表示,当关系运算表达式计算的结果 为逻辑真的时候,执行MATLAB语句,这里的MATLAB语句可 以是一个MATLAB表达式,也可以是多个MATLAB表达式。在 MATLAB语句的结尾处,必须有关键字end。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2011/7/6Matlab基础及其应用第4讲 Matlab数据分析4.1 4.2 4.3 4.4 4.5数据统计处理 数据插值 曲线拟合 离散傅立叶变换 多项式计算主讲教师:张帆14.1 数据统计处理 4.1.1 最大值和最小值 MATLAB提供的求数据序列的最大值和最小 值的函数分别为max和min,两个函数的调 用格式和操作过程类似。

用格式和操作过程类似 1.求向量的最大值和最小值 求一个向量X的最大值的函数有两种调用格式, 分别是: (1) y=max(X):返回向量X的最大值存入y, 如果X中包含复数元素,则按模取最大值。

(2) [y,I]=max(X):返回向量X的最大值存入y,最大 值的序号存入I,如果X中包含复数元素,则按模 取最大值。

求向量X的最小值的函数是min(X),用法和max(X) 完全相同。

例6-1 求向量x的最大值。

命令如下: x=[-43,72,9,16,23,47]; y=max(x) %求向量x中的最大值 [y,l]=max(x) %求向量x中的最大值及其该元素 的位置2.求矩阵的最大值和最小值 求矩阵A的最大值的函数有3种调用格式,分 别是: (1) ( ) max(A):返回一个行向量,向量的第i个 ( ) 返回 个行向量 向量的第i个 元素是矩阵A的第i列上的最大值。

(2) [Y,U]=max(A):返回行向量Y和U,Y向量 记录A的每列的最大值,U向量记录每列最 大值的行号。

(3) max(A,[],dim):dim取1或2。

dim取1时, 该函数和max(A)完全相同;dim取2时,该 函数返回一个列向量,其第i个元素是A矩 阵的第i行上的最大值。

求最小值的函数是min,其用法和max完全相 同。

例4-2 分别求3×4矩阵x中各列和各行元素中 的最大值,并求整个矩阵的最大值和最小 值。

12011/7/63.两个向量或矩阵对应元素的比较 函数max和min还能对两个同型的向量或矩阵进行比较,调 用格式为: (1) U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与 A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的 较大者。

(2) U=max(A,n):n是一个标量,结果U是与A同型的向量或 矩阵,U的每个元素等于A对应元素和n中的较大者。

min函数的用法和max完全相同。

例4-3 求两个2×3矩阵x, y所有同一位置上的较大元素构成 的新矩阵p。

4.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行的各元素之和。

其第i个元素是A的第i行的各元素之和 prod(A,dim):当dim为1时,该函数等同于 prod(A);当dim为2时,返回一个列向量, 其第i个元素是A的第i行的各元素乘积。

例4-4 求矩阵A的每行元素的乘积和全部元素 的乘积。

4.1.3 平均值和中值 求数据序列平均值的函数是mean,求数据序列中值的函数 是median。

两个函数的调用格式为: mean(X):返回向量X的算术平均值。

median(X):返回向量X的中值。

mean(A):返回一个行向量,其第i个元素是A的第i列的算术 平均值。

median(A):返回一个行向量,其第i个元素是A的第i列的中 值。

mean(A,dim):当dim为1时,该函数等同于mean(A);当dim 为2时,返回一个列向量,其第i个元素是A的第i行的算术 平均值。

median(A,dim):当dim为1时,该函数等同于median(A);当 dim为2时,返回一个列向量,其第i个元素是A的第i行的 中值。

例4-5 分别求向量x与y的平均值和中值。

4.1.4 累加和与累乘积 在MATLAB中,使用cumsum和cumprod函数能方便地求得 向量和矩阵元素的累加和与累乘积向量,函数的调用格式 为: cumsum(X):返回向量X累加和向量。

cumprod(X):返回向量X累乘积向量。

cumsum(A):返回一个矩阵,其第i列是A的第i列的累加和向 量。

cumprod(A):返回 个矩阵,其第i列是A的第i列的累乘积 cumprod(A):返回一个矩阵 其第i列是A的第i列的累乘积 向量。

cumsum(A,dim):当dim为1时,该函数等同于cumsum(A); 当dim为2时,返回一个矩阵,其第i行是A的第i行的累加 和向量。

cumprod(A,dim):当dim为1时,该函数等同于cumprod(A); 当dim为2时,返回一个向量,其第i行是A的第i行的累乘 积向量。

例4-6 求s的值。

4.1.5 标准方差与相关系数 1.求标准方差 在MATLAB中,提供了计算数据序列的标准方差的函数std。

对于向量X,std(X)返回一个标准方差。

对于矩阵A, std(A)返回一个行向量,它的各个元素便是矩阵A各列或 各行的标准方差。

std函数的 般调用格式为: 各行的标准方差。

std函数的一般调用格式为: Y=std(A,flag,dim) 其中dim取1或2。

当dim=1时,求各列元素的标准方差;当 dim=2时,则求各行元素的标准方差。

flag取0或1,当 flag=0时,按σ1所列公式计算标准方差,当flag=1时,按 σ2所列公式计算标准方差。

缺省flag=0,dim=1。

例4-7 对二维矩阵x,从不同维方向求出其标准方差。

22011/7/62.相关系数 MATLAB提供了corrcoef函数,可以求出数 据的相关系数矩阵。

corrcoef函数的调用格 式为: corrcoef(X):返回从矩阵X形成的一个相关系 f( ) 返回从矩阵 形成的 个相关系 数矩阵。

此相关系数矩阵的大小与矩阵X一 样。

它把矩阵X的每列作为一个变量,然后 求它们的相关系数。

corrcoef(X,Y):在这里,X,Y是向量,它们与 corrcoef([X,Y])的作用一样。

例4-8 生成满足正态分布的10000×5随机矩 阵,然后求各列元素的均值和标准方差, 再求这5列随机数据的相关系数矩阵。

命令如下: 命令如下 X=randn(10000,5); M=mean(X) D=std(X) R=corrcoef(X)4.1.6 排序 MATLAB中对向量X是排序函数是sort(X),函数返 回一个对X中的元素按升序排列的新向量。

sort函数也可以对矩阵A的各列或各行重新排序,其 调用格式为: [Y,I]=sort(A,dim) 其中dim指明对A的列还是行进行排序。

若dim=1, 则按列排;若dim=2,则按行排。

Y是排序后的矩 阵,而I记录Y中的元素在A中位置。

例4-9 对二维矩阵做各种排序。

4.2 数据插值 4.2.1 一维数据插值 在MATLAB中,实现这些插值的函数是interp1,其调用格 式为: Y1=interp1(X,Y,X1,'method') Y1 i 1(X Y X1 ' h d') 函数根据X,Y的值,计算函数在X1处的值。

X,Y是两个等长 的已知向量,分别描述采样点和样本值,X1是一个向量 或标量,描述欲插值的点,Y1是一个与X1等长的插值结 果。

method是插值方法,允许的取值有‘linear’、 ‘nearest’、‘cubic’、‘spline’。

注意:X1的取值范围不能超出X的给定范围, 否则,会给出“NaN”错误。

例4-10 用不同的插值方法计算在π/2点的值。

MATLAB中有一个专门的3次样条插值函数 中有 个专门的 次样条插值函数 Y1=spline(X,Y,X1),其功能及使用方法与 函数Y1=interp1(X,Y,X1,‘spline’)完全相同。

例6-11 某观测站测得某日6:00时至18:00时之间每隔2小时的 室内外温度(℃),用3次样条插值分别求得该日室内外6:30 至17:30时之间每隔2小时各点的近似温度(℃)。

设时间变量h为一行向量,温度变量t为一个两列矩阵,其中 第一列存放室内温度,第二列储存室外温度。

命令如下: h =6:2:18; 6:2:18; t=[18,20,22,25,30,28,24;15,19,24,28,34,32,30]'; XI =6.5:2:17.5 YI=interp1(h,t,XI,‘spline’) %用3次样条插值计算32011/7/64.2.2 二维数据插值 在MATLAB中,提供了解决二维插值问题的函数 interp2,其调用格式为: Z1=interp2(X,Y,Z,X1,Y1,'method') 其中X,Y是两个向量,分别描述两个参数的采样点, 其中X Y是两个向量 分别描述两个参数的采样点 Z是与参数采样点对应的函数值,X1,Y1是两个向 量或标量,描述欲插值的点。

Z1是根据相应的插 值方法得到的插值结果。

method的取值与一维插 值函数相同。

X,Y,Z也可以是矩阵形式。

同样,X1,Y1的取值范围不能超出X,Y的给定范围, 否则,会给出“NaN”错误。

例4-12 设z=x2+y2,对z函数在[0,1]×[0,2]区域内进行插值。

例4-13 某实验对一根长10米的钢轨进行热源的温度传播测 试。

用x表示测量点0:2.5:10(米),用h表示测量时间 0:30:60(秒),用T表示测试所得各点的温度(℃)。

试用线性 插值求出在一分钟内每隔20秒、钢轨每隔1米处的温度TI。

命令如下: x=0:2.5:10; h=[0:30:60]'; T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41]; xi=[0:10]; hi=[0:20:60]'; TI=interp2(x,h,T,xi,hi)4.3 曲线拟合 在MATLAB中,用polyfit函数来求得最小二乘拟合多项式的 系数,再用polyval函数按所得的多项式计算所给出的点上 的函数近似值。

polyfit函数的调用格式为: [P,S]=polyfit(X,Y,m) [P S]=polyfit(X Y m) 函数根据采样点X和采样点函数值Y,产生一个m次多项式P 及其在采样点的误差向量S。

相关文档
最新文档