ITK-VTK开发介绍

Download Report

Transcript ITK-VTK开发介绍

第4章 MATLAB数值运算
编者
Outline
4.1 数组及其运算
 4.2 多项式及其运算

4.1 数组及其运算
1.向量的创建与操作
向量的创建
在MATLAB中,用户可以采用多种不同的方法来创建向量,常见的有以下四种:
逐个元素输入法
冒号生成法
定数线性采样法
定数对数采样法
向量基本操作
MATLAB中提供了一些与向量运算有关的函数,见表所示。
表
向量中常用运算函数
2.矩阵的创建与操作
矩阵的创建
向量可以看成矩阵的一个特例,因此矩阵的创建固然可以采用逐一元素输入法,但应该满足以下三个要素:
矩阵输入以方括号[]括起;
矩阵的行与行之间以分号分隔;
矩阵行元素以逗号或空格分开。
矩阵基本操作
矩阵基本操作主要包括矩阵元素的标识、子矩阵块的寻访与赋值、矩阵重塑等。
3.空数组的创建与操作
空数组的创建
空数组的创建主要有以下几种方法:
利用方括号[]直接创建,比如A=[]就创建了空数组A;
利用特殊矩阵生成函数创建,将其某一维或某几维长度置0,比如ones(2,0,4);
利用reshape、repmat等函数创建,比如reshape(1:12,0,[])。
空数组基本操作
MATLAB中提供了函数isempty来判断数组是否为空,另外也可以利用class、isnumeric、size、ndims等
函数来操作空数组。
4.2 多项式及其运算
1.多项式的构造
MATLAB中构造多项式主要通过函数poly2sym和poly2str实现,这两个函数的调用格式如下:
r=poly2sym(C,'V')
r=poly2str(C,'V')
2.多项式基本运算
多项式的四则运算
多项式的加减只需利用加减运算符实现即可,对于多项式的乘除,MATLAB分别提供了函数conv
和deconv实现。它们的调用格式如下:
w = conv(u,v)
[q,r] = deconv(v,u)
多项式的微分与积分
对于多项式
,可以得到
MATLAB中分别提供了函数polyder和polyint来求多项式的微分与不定积分。
多项式求值
MATLAB提供了两个函数求解多项式在给定点的函数值:polyval和polyvalm,它们的调用格式为:
polyval(p,X)
polyvalm(p,X)
多项式方程求根
MATLAB提供了roots函数来求解多项式方程的根,其调用格式为:
r = roots(p)
部分分式展开
在工程中经常遇到部分分式展开问题,这涉及到传递函数,设传递函数可以表示为如下形式:
经部分分式展开后有
MATLAB中提供了函数residue来实现将传递函数进行部分分式展开,该函数的调用格式为:
[r,p,k] = residue(b,a)
[b,a] = residue(r,p,k)
多项式插值与拟合
在工程实践和科学实验中,常常需要从一组实验观测数据 ,揭示自变量 与因变量 之间
的关系,一般可以用一个近似的函数关系式 来表示。函数 的产生办法因观测数据与要求的
不同而异,通常可以采用两种方法:数据拟合和插值。
MATLAB中提供了函数polyfit实现多项式插值或拟合,该函数的调用格式为:
[p,S] = polyfit(x,y,n) % 格式1
[p,S,mu] = polyfit(x,y,n) % 格式2
具体运行效果如图所示图1,图2:
图1
股票发展趋势拟合与插值结果
图2
1~8次拟合多项式
谢谢大家!