【MATLAB】实验三:多项式计算与数据处理

合集下载

Matlab中数据处理和多项式插值与曲线拟合

Matlab中数据处理和多项式插值与曲线拟合

Matlab中数据处理和多项式插值与曲线拟合⼀、基本统计处理1、查取最⼤值MAX函数的命令格式有:[Y,I]= max (X):将max(X)返回矩阵X的各列中的最⼤元素值及其该元素的位置赋予⾏向量Y与I;当X为向量时,则Y与I为单变量。

[Y,I]=max(X,[],DIM):当DIM=1时按数组X的各列查取其最⼤的元素值及其该元素的位置赋予向量Y与I;当DIM=2时按数组X的各⾏查取其最⼤的元素值及其该元素的位置赋予向量Y与I.max(A,B):返回⼀个与A,B同维的数组,其每⼀个元素是由A,B同位置上的元素的最⼤值组成。

【例1】查找下⾯数列x的最⼤值。

x=[3 5 9 6 1 8] % 产⽣数列xx = 3 5 9 6 1 8y=max(x) % 查出数列x中的最⼤值赋予yy = 9[y,l]=max(x) % 查出数列x中的最⼤值及其该元素的位置赋予y,ly = 9l = 3【例2】分别查找下⾯3×4的⼆维数组x中各列和各⾏元素中的最⼤值。

x=[1 8 4 2;9 6 2 5;3 6 7 1] % 产⽣⼆维数组xx = 1 8 4 29 6 2 53 6 7 1y=max(x) % 查出⼆维数组x中各列元素的最⼤值产⽣赋予⾏向量yy = 9 8 7 5[y,l]=max(x) % 查出⼆维数组x中各列元素的最⼤值及其这些% 元素的⾏下标赋予y,ly = 9 8 7 5l = 2 1 3 2[y,l]=max(x,[ ],1) % 本命令的执⾏结果与上⾯命令完全相同y = 9 8 7 5l = 2 1 3 2[y,l]=max(x,[ ],2) % 由于本命令中DIM=2,故查找操作在各⾏中进⾏y = 897l = 213[y,l]=max(x) % 查出⼆维数组x中各列元素的最⼤值及其这些% 元素的⾏下标赋予y,ly = 9 8 7 5l = 2 1 3 2[y,l]=max(x,[ ],1) % 本命令的执⾏结果与上⾯命令完全相同y = 9 8 7 5l = 2 1 3 2[y,l]=max(x,[ ],2) % 由于本命令中DIM=2,故查找操作在各⾏中进⾏y = 897l = 2132、查取最⼩值MIN函数⽤来查取数据序列的最⼩值。

Matlab的多项式运算和数据分析

Matlab的多项式运算和数据分析

课程名称:Matlab语言程序设计实验题目:Matlab的多项式运算和数据分析一、实验目的1. 掌握Matlab 中多项式函数的使用;2. 掌握利用Matlab 实现数据拟合的方法;3. 掌握Matlab 中的数据分析函数的使用。

二、实验内容和结果1.求多项式函数432)(23++=x x x p 的根,求以得到的根向量为根的多项式;求)(x p 的导函数系数向量1q 和以5为常数项的原函数系数向量2q ;在同一绘图窗口中用plot 绘制)(x p ,)(1x q ,)(2x q 的图像,并加图例。

clcp=[2 3 0 4]; x=0:0.01:2; p1=roots(p); yy=poly2sym(p1) y=polyval(p,x); plot(x,y,'g') hold onq1=polyder(p) y1=polyval(q1,x); plot(x,y1,'b') hold onq2=[2 3 0 5]; y2=polyval(q2,x); plot(x,y2,'r') hold onlegend('p(x)','q1(x)','q2(x)') xlabel('x') ylabel('y')0.20.40.60.81 1.2 1.4 1.6 1.820510152025303540xy2.用电压10=V 伏的电池给电容器充电,电容器上t 时刻的电压为}exp{)()(0τtV V V t v ---=,其中0V 是电容器的初始电压,τ是充电常数。

试由下面一组t ,V 数据确定0V 和τ。

t=[.5 1 2 3 4 5 7 9];v=[6.36 6.48 7.26 8.22 8.66 8.99 9.43 9.63]; u1=10-v; u3=log(u1); u4=exp(u3); plot(t,u3,'*r'); hold onq=polyfit(t,u3,1) y=polyval(q,t); plot(t,y); tt=1/-.2835 v0=10-exp(1.4766)v0 =5.6220τ=-3.52730V =5.6220 拟合图0123456789-1.5-1-0.50.511.53.利用多项式函数和eig 求3阶Pascal 矩阵的特征值,并比较二者的结果。

《数学软件》实验报告-数据处理与多项式计算

《数学软件》实验报告-数据处理与多项式计算

附件二:实验项目列表附件三:实验报告(七)系:专业:年级:姓名:学号:实验课程:实验室号:_ 实验设备号:实验时间:指导教师签字:成绩:1. 实验项目名称:数据处理与多项式计算2. 实验目的和要求1.掌握利数据统计和分析的方法2.掌握数值插值与曲线拟合的方法及其应用3.掌握多项式的常用运算3. 实验使用的主要仪器设备和软件方正商祺N260微机;MATLAB7. 0或以上版本4. 实验的基本理论和方法(1)rand函数(2)均值:mean(x)(3)求和:sum(x)(4)方差:std(A,flag,dim)(5)最大值函数:y=max(x),[y,k]=max(x),[Y,U]=max(A,[],dim)(6)最小值函数:y=min(x),[y,u]=min(x),[Y,U]=min(A,[],dim)(7)length函数(8)find函数(9)sort函数:[Y,I]=sort(A,dim)(10)样条插值:Y1=interp1(X,Y,X1,’spline’)(11)polyfit函数:[P,S]=polyfit(X,Y,m)(12)plot函数(13)多项式求和(14)求根函数:x=roots(A)(15)多项式求值:y=polyval(P,X), y=polyvalm(P,X)5. 实验内容与步骤(描述实验中应该做什么事情,如何做等,实验过程中记录发生的现象、中间结果、最终得到的结果,并进行分析说明)(包括:题目,写过程、答案)题目:1.利用matlab提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质;(1)均值和标准方差。

(2)最大元素和最小元素。

(3)大于0.5的随机数个数占总数的百分比。

function f1x=rand(30000,1);disp('均值:');M=mean(x)disp('标准方差:');S=std(x,0,1)disp('最大元素:');MAX=max(x)disp('最小元素:');MIN=min(x)disp('百分比');a=length(find(x>0.5));X=a/30000>> f1均值:M =0.501标准方差:S =0.28946最大元素:MAX =0.99998最小元素:MIN =3.1508e-005百分比X =0.498532.将100个学生5门功课的成绩存入矩阵P中,进行如下处理。

第三章MATLAB数据分析与多项式计算.

第三章MATLAB数据分析与多项式计算.
说明: 函数conv(P1,P2)用于求多项式P1和P2的乘积。这里, P1、P2是两个多项式系数向量。
函数[Q,r]=deconv(P1,P2)用于对多项式P1和P2作除法 运算(退卷积)。其中Q返回多项式P1除以P2的商式,r返回P1 除以P2的余式.这里,Q和r仍是多项式系数向量.
例3-1 分别计对多项式x4+8x3-10与多项式2x2-x+3的进行乘法 和除法运算 p1=[1 8 0 0 -10]; p2=[2 -1 3]; p=conv(p1,p2) , %乘法运算 y=poly2sym(p) [q,r]=deconv([p1,p2]) %除法运算 p= 2 15 -5 24 -20 10 -30 y= 2*x^6+15*x^5-5*x^4+24*x^3-20*x^2+10*x-30
yi_cubic =
75.0000 106.2979 140.7981 179.3200 224.7603 yi_nearest = 75.0000 123.2000 123.2000 179.3200 250.0000
例3-16 某观测站测得某日6:00时至18:00时之间每隔2小时的室 内外温度t(℃),用3次样条插值分别求得该日室内外6:30至 17:30时之间每隔2小时各点的近似温度(℃)。 设时间变量h为一行向量,温度变量t为一个1*2矩阵,其中 第一列存放室内温度,第二列储存室外温度。命令如下: h=6:2:18; t=[18,20,22,25,30,28,24;15,19,24,28,34,32,30];
说明: 1.求多项式P的导函数,参数P为多项式系数向量,返回值p为P的导函数系数向量. 2. 求P*Q积的导函数,参数P,Q均为多项式系数向量,返回值p为P*Q的导函数系数向量 3.求P/Q商的导函数, [p,q] (向量表示)为返回值分别存放导函数的分子与分母

matlab实验3:多项式运算

matlab实验3:多项式运算
计算多项式在给定点的值
代数多项式求值
y = polyval(p,x)
计算多项式 p 在 x 点的值
注:若 x 是向量或矩阵,则采用数组运算 (点运算)! 例:已知 p(x)=2x3-x2+3,分别取 x=2 和一个 22 矩阵,
求 p(x) 在 x 处的每个分量上的值
>> p=[2,-1,0,3]; >> x=2; y = polyval(p,x) >> x=[-1,2;-2,1]; y = polyval(p,x)
例:解方程组
x
2yz xz3
2
x 3y 8
>> A=[1 2 -1; 1 0 1; 1 3 0]; >> b=[2;3;8]; >> x=linsolve(A,b)
b是列向量!
非线性方程的根
Matlab 非线性方程的数值求解
fzero(f,x0):求方程 f=0 在 x0 附近的根。
符号求解
solve 也可以用来解方程组 solve( f1 , f2 , ... , fN , v , ... , fN 确定的方程组关于 v1 , v2 , ... , vN 的解
例:解方程组
x 2 y z 27
x
z
3
x2 3 y2 28
例:2x3-x2+3 <-> [2,-1,0,3]
特别注意:系数中的零是不能省的!
多项式的符号形式:poly2sym 如,>> poly2sym([2,-1,0,3])
运行结果:ans = 2*x^3-x^2+3
多项式四则运算
多项式加减运算
多项式的加减运算就是其所对应的系数向量的加减运算

Matlab基础及其应用-数据分析与多项式计算

Matlab基础及其应用-数据分析与多项式计算

>> density=[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]; >> cruortime=[14,13,15,15,13,14,16,17,14,16,15,16,14,15,17]; >> R=corrcoef(density,cruortime) R=
S = sum(X,dim):当dim为1(默认值)时,该函数等同于
sum(X);当dim为2时,返回一个列向量,其第i个元素是X的
第i行的各元素之和。
数据序列求积的函数是prod
6.1 数据统计处理
MATLAB基础与应用教程
【例6.3】已知
求矩阵A的每行元素之和和全部元素之和。
>> A=[9,10,11,12;100,200,300,400;50,60,50,60];
[R,P]=corrcoef(X):返回矩阵X各列的相关系数,计算时把 矩阵X的每列作为一个观测变量,然后求各列的相关系数。
6.1 数据统计处理
MATLAB基础与应用教程
【例6.7】随机抽取15名健康成人,测定血液的凝血酶浓度 及凝血时间,数据如表6.3所示。分析凝血酶浓度与凝血时 间之间的相关性。
MATLAB基础与应用教程
【例6.5】某次射击选拔比赛中小明与小华的10次射击成绩 (单位:环)如表6.1所示,试比较两人的成绩。
>> hitmark=[7,4,9,8,10,7,8,7,8,7;7,6,10,5,9,8,10,9,5,6]; >> mean(hitmark,2) ans =
7.5000 7.5000 >> std(hitmark,[],2) ans = 1.5811 1.9579

[计算机软件及应用]第7章 MATLAB数据分析与多项式计算

[计算机软件及应用]第7章  MATLAB数据分析与多项式计算

23.12.2020
h
11
1
1 n1
n i1
(xi
x)2
2
1 n
n i1
(xi
x)2
23.12.2020
h
12
2.相关系数
MATLAB提供了corrcoef函数,可以求出数 据的相关系数矩阵。corrcoef函数的调用格式为:
corrcoef(x,y):在这里,x,y是向量。
corrcoef(A):返回从矩阵A形成的一个相关系 数矩阵。此相关系数矩阵的大小与矩阵A一样。 它把矩阵A的每列作为一个变量,然后求它们的 相关系数。
求最小值的函数是min,其用法和max完全相 同。
例:分别求3×4矩阵A中各列和各行元素中的最大值, 并求整个矩阵的最大值和最小值。
max(A)
max(A,[],2)
max(max(A))
min(min(A))
23.12.2020
h
5
3.两个向量或矩阵对应元素的比较
函数max和min还能对两个同型的向量 或矩阵进行比较,调用格式为:
第7章 MATLAB数据分析与多项式计算 7.1 数据统计处理 7.2 数据插值 7.3 曲线拟合 7.4 多项式计算
23.12.2020
h
1
7.1 数据统计处理 7.1.1 最大值和最小值
MATLAB提供的求数据序列的最大值和最小 值的函数分别为max和min,两个函数的调用格式 和操作过程类似。
23.12.2020
h
8
7.1.3 平均值和中值 求数据序列平均值的函数是mean,求数据序列中值
的函数是median。两个函数的调用格式为: mean(x):返回向量x的算术平均值。 median(x):返回向量x的中值。 mean(A):返回一个行向量,其第i个元素是A的第i

matlab在科学计算中的应用5多项式插值与数据拟合

matlab在科学计算中的应用5多项式插值与数据拟合
• 取n=10,用Lagrange插值法进行插值计算。
>> x=[-5:1:5]; y=1./(1+x.^2); x0=[-5:0.1:5]; >> y0=lagrange(x,y,x0); >> y1=1./(1+x0.^2); %绘制图形 >> plot(x0,y0,'--r') %插值曲线 >> hold on >> plot(x0,y1,‘-b') %原曲线
5.1 关于多项式MATLAB命令
• 一个多项式的幂级数形式可表示为:
y c1xn c2 xn1 cn x cn1
• 也可表为嵌套形式
y ( ((c1x c2 )x c3)x cn )x cn1
• 或因子形式
y c1(x r1)(x r2 ) (x rn )
N阶多项式n个根,其中包含重根和复根。若多 项式所有系数均为实数,则全部复根都将以共轭对 的形式出现
cn 2
x2
cn1x cn2
多项式微分:
y c1xn c2 xn1
cn x cn1
y' nc1xn1 (n 1)c2 xn2 cn
• Polyder: 求多项式一阶导数的系数。 调用格式为: b=polyder(c ) c为多项式y的系数,b是微分后的系数,
其值为:
[nc1, (n 1)c2 , , cn ]
23.8125 76.0000
• polyfit:给定n+1个点将可以唯一确定一个n阶多项式。利 用命令polyfit可容易确定多项式的系数。 例:
>> x=[1.1,2.3,3.9,5.1]; >> y=[3.887,4.276,4.651,2.117]; >> a=polyfit(x,y,length(x)-1) a=

第5章 MATLAB数据分析与多项式计算

第5章  MATLAB数据分析与多项式计算

Y=polyval(P,x)
若x为一数值,则求多项式在该点的值;若x为向量或矩 阵,则对向量或矩阵中的每个元素求其多项式的值 例5-19 已知多项式x4+8x3-10,分别取x=1.2和一个2×3矩阵 为自变量计算该多项式的值。
2.矩阵多项式求值 polyvalm函数用来求矩阵多项式的值,其调用格式与
数据序列求和与求积的函数是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行的各元素乘积。
例5-14 已知数据表 T=[-100 0 100 200 300 400 500]; R=[60.272 100 135.5 175.833 212.024 247.072 280.962];, 试求2次拟合多项式p(t) 然后求ti=-40,120,220,320,420,520各点的函数近似值。
3.多项式除法
函数[Q,r]=deconv(P1,P2)用于对多项式P1和P2作除法运
算。其中Q返回多项式P1除以P2的商式,r返回P1除以 P2的余式。这里,Q和r仍是多项式系数向量。 deconv是conv的逆函数,即有P1=conv(P2,Q)+r。 例5-17 求多项式x4+8x3-10除以多项式2x2-x+3的结果。

第三章MATLAB数据分析与多项式计算.

第三章MATLAB数据分析与多项式计算.
f=[3,0,4,-5,-7.2,5];r=roots(f)
p=compan(f);r=eig(p)
p=poly(r),g=poly2sym(p)
r= -0.3046 + 1.6217i -0.3046 - 1.6217i -1.0066 1.0190 0.5967 p= 1.0000 0.0000 1.3333 -1.6667 -2.4000 1.6667 g= x^5+3/9007199254740992*x^4+4/3*x^3-5/3*x^2-12/5*x+5/3
P=[1 8 0 0 -10];Q=[2 -1 3]; p1=polyder(P) p2=polyder(P,Q) [p3,q1]=polyder(P,Q)
p1 = 4 24 0 0 p2 = 12 75 -20 72 -40 10 p3 =பைடு நூலகம்4 13 -4 72 40 -10 q1 = 4 -4 13 -6 9
p1 = 1.0000 -9.0000 -89.0000 -134.0000 ans = t^3-13*t^2+54*t-72 p2 = 1.0000 -9.0000 -89.0000 -134.0000 ans = x^3-9*x^2-89*x-134
3.1.2 多项式的运算
1.多项式乘法运算: conv(P1,P2) 2.多项式除法: [q,r]=deconv(P1,P2)
说明: 函数conv(P1,P2)用于求多项式P1和P2的乘积。这里, P1、P2是两个多项式系数向量。
函数[Q,r]=deconv(P1,P2)用于对多项式P1和P2作除法 运算(退卷积)。其中Q返回多项式P1除以P2的商式,r返回P1 除以P2的余式.这里,Q和r仍是多项式系数向量.

MATLAB数据分析与多项式计算

MATLAB数据分析与多项式计算

求矩阵A的每行元素的乘积和全部元素 例5-4 求矩阵 的每行元素的乘积和全部元素 的乘积。 的乘积。
A=round(10*rand(3,4)) %随机产生一个 ×4的整数 随机产生一个3× 的整数 矩阵 RPROD=prod(A,2) %求每一行的乘积 乘积
(2) [y,I]=max(X):返回向量 的最大值存 :返回向量X的最大值存 入y,最大值的序号存入 ,如果 中包含复数 ,最大值的序号存入I,如果X中包含复数 元素,则按模取最大值。 元素,则按模取最大值。 求向量X的最小值的函数是 的最小值的函数是min(X),用法 求向量 的最小值的函数是 , 完全相同。 和max(X)完全相同。 完全相同 例5-1 求向量 的最大值。 求向量x的最大值 的最大值。 命令如下: 命令如下: x=[-43,72,9,16,23,47]; y=max(x) %求向量 中的最大值 求向量x中的最大值 求向量 [y,l]=max(x) %求向量 中的最大值 求向量x中的最大值 求向量 及其该元素的位置
分别求向量x与 的平均值 的平均值。 例5-5 分别求向量 与y的平均值。
x=round(10*rand(6,1)); %随机产生一个 维的整数向量 随机产生一个6维 y=round(10*rand(7,1)); %随机产生一个 维的整数向量 随机产生一个7维 x',y' x_mean=mean(x) 向量x的平均值 %向量x的平均值 y_mean=mean(y) 向量y的平均值 %向量 的平均值
第5讲 MATLAB数据分析与多项式计算 讲 数据分析与多项式计算 5.1 数据统计处理 5.2 数据插值 5.3 曲线拟合 5.4 多项式计算
5.1 数据统计处理
5.1.1 最大值和最小值

MATLAB与多项式计算

MATLAB与多项式计算

例 1 :求(x3 2x 2 5x) (6 x 1 )
例2:求(x 4 8x3 10 ) (2 x 2 x 3)和 (x 4 8x3 10 ) (2 x 2 x 3)的值
2.2多项式的导函数
p polyder ( P) :求多项式P的导函数; p polyder ( P, Q)
g ( x) x 1.3333 x 1.66667 x 2.4x 1.66667
5 3 2
'
2.3、多项式求值
y=polyval(p,x) 若x为一数值,则求多项式在该点的值; 如x为一向量或矩阵,则对向量或矩阵中每一个元素求其 多项式的值
2.4、多项式求根 MATLAB提供的roots函数用于求多项式的全部根,其调用 格式为: x=roots(p) 其中p为多项式的系数向量,求得的根赋给向量x,即 x(1),x(2),x(3)….x(n)分别代表多项式的n个根。
例:求多项式 x 4 8x3 10的根
若已知多项式的全部根,即可以用poly函数建立多项 式,其调用格式为:p=poly(x)。即poly(x)建立以x为其 根的多项式,且将该多项式的系数赋给向量p。
例:已知f ( x) 3 x 5 4 x 3 5 x 2 7.2 x 5, 求f ( x) 0的全部根;并由 f ( x) 0的根构造一个多项式 g ( x) 与f ( x)进行比较。
第i行元素的积/和。
1. 3、平均值和中值 mean(x):返回向量x的算术平均值;
mean(A):返回一个行向量,其第i个元素是矩阵A的第i
列的算术平均值;
mean(A,dim):dim取1时,该函数和 mean(A)完全相同;

MATLAB数据分析与多项式计算实验

MATLAB数据分析与多项式计算实验
>> Ni=1:100;
>> Yi=polyval(p,Ni)
Yi =
Columns 1 through 12
1.0790 1.3671 1.6386 1.8946 2.1360 2.3636 2.5784 2.7812 2.9728 3.1539 3.3252 3.4876
Columns 13 through 24
表8-2lg(x)在11个采样点的函数值
x
1
11
21
31
41
51
61
71
81
91
101
lg(x)
0
1.0414
1.3222
1.4914
1.6128
1.7076
1.7853
1.8513
1.9085
1.9590
2.0043
试求lg(x)的5次拟合多项式p(x),并绘制出lg(x)和p(x)在[1,101]区间的函数曲线。
5、有三个多项式 , , ,试进行以下操作:
(1)求
(2)求 的根
>> A=[1,2,4,0,5];
>> B=[1,2];
>> C=[1,2,3];
>> D=conv(B,C)
D =
1 4 7 6
>> D1=[0,1,4,7,6];
>> P=A+D1
P =
1 3 8 7 11
>> X=roots(p)
3.6415 3.7877 3.9267 4.0592 4.1856 4.3064 4.4222 4.5334 4.6405 4.7437 4.8435 4.9403

计算机软件及应用MATLAB数据分析与多项式计算

计算机软件及应用MATLAB数据分析与多项式计算
7.1 数据统计处理 7.1.1 最大值和最小值
MATLAB提供的求数据序列的最大值和最小 值的函数分别为max和min,两个函数的调用格式 和操作过程类似。
1.求向量的最大值和最小值 求一个向量x的最大值的函数有两种调用格式,
分别是:
(1) y=max(x):返回向量x的最大值存入y,如果x中 包含复数元素,则按模取最大值。
2024年10月14日星期一
运行结果: s1 =
0.9975 s2 =
0.9975 s3 =
0.9996 s4 =
0.9992 s5 =
1.0000 s6 =
1.0000
21
例:某观测站测得某日6:00时至18:00时之间每隔2小 时的室内外温度(℃),用3次样条插值分别求得该 日室内外6:30至17:30时之间每隔2小时各点的近 似温度(℃)。 设时间变量h为一行向量,温度变量t为一个 两列矩阵,其中第一列存放室内温度,第二列储 存室外温度。命令如下:
2024年10月14日星期一
8
7.1.4 累加和与累乘积 在MATLAB中,使用cumsum和cumprod函数能方便地求得
向量和矩阵元素的累加和与累乘积向量,函数的调用格式 为: cumsum(x):返回向量x累加和向量。 cumprod(x):返回向量x累乘积向量。 cumsum(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行的累乘 积向量。

第六章 matlab数据分析与多项式计算

第六章 matlab数据分析与多项式计算

2013-7-25
26
6.2.2 二维数据插值
二维插值主要应用于图像处理和数据的可视化, 其基本思想与一维插值相同,它是对两变量的函数 z=f(x,y)进行插值。



zi=interp2(x,y,z,xi,yi)返回在插值向量xi、yi 处的函数值向量,它是根据向量x、y与z插值 而来,如果x1、y1有元素不在x、y范围内, 则返回NaN。 zi=interp2(z,xi,yi)省略x、y,表示x=1:N,y=1:M, [M,N] = size(z).。 zi=interp2(x,y,z,xi,yi,’method’)表示用method 指定的插值方法进行插值。
5.5529 7.1110 7.6747
2013-7-25
23
>> x=[1 2 4 6 8 9 10 13 15 16]; >> y=[5 7 8 10 13 14 15 17 19 20]; >> x1=[1.2 2.1 3]; >> y1=spline(x,y,x1) y1 = 5.5529 7.1110 7.6747
2013-7-25 13
6.1.6 排序
MATLAB中对向量X排序函数是sort(X), 函数返回一个对X中的元素按升序排列的新 向量。 sort函数也可以对矩阵A的各列或各行重新 排序,其调用格式为: [Y,I]=sort(A,dim) 其中dim指明对A的列还是行进行排序。若 dim=1,则按列排;若dim=2,则按行排。 Y是排序后的矩阵,而I记录Y中的元素在A 中位置。 例6-9 对二维矩阵做各种排序。
2013-7-25
8
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行的各元素乘积。 例6-4 求矩阵A的每行元素的乘积和全部元素 的乘积。

实验三MATLAB数值运算

实验三MATLAB数值运算

实验三MATLAB数值运算实验三 MATLAB 数值运算一、实验目的掌握MA TLAB 的数值运算及其运算中所用到的函数,掌握结构数组和细胞数组的操作。

二、实验内容(1)多项式运算(2)多项式插值和拟合(3)数值微积分(4)结构数组和细胞数组三、实验步骤1、多项式运算(1)多项式表示。

在MATLAB 中,多项式表示成向量的形式。

如:953234+-+s s s 在MATLAB 中表示为>> s=[1 3 -5 0 9] s =1 3 -5 0 9(2)多项式的加减法相当于向量的加减法,但须注意阶次要相同。

如不同,低阶的要补0.如多项式9322++s s 与多项式74532 34++-+s s s s 相加。

>> S1=[ 0 0 2 3 11] >> S2=[ 1 3 -5 4 7 ] >> S3=S1+S2 S1 =0 0 2 3 11 S2 =1 3 -5 4 7 S3 =1 3 -3 7 18(3)多项式的乘、除法分别用函数conv 和deconv 实现 >> S1=[ 2 3 11] >> S2=[1 3 -5 4 7] >> S3=conv(S1,S2) >>S4=deconv(S3,S1) >> S1=[ 2 3 11] S1 =2 3 11 >> S2=[1 3 -5 4 7] S2 =1 3 -5 4 7 >> S3=conv(S1,S2) S3 =2 9 10 26 -29 65 77 >> S4=deconv(S3,S1)S4 =1 3 -5 4 7(4)多项式求根用函数roots>> S1=[ 2 4 2]>> roots(S1)>> S1=[ 2 4 2]S1 =2 4 2>> roots(S1)ans =-1-1(5) 多项式求值用函数polyval>> S1=[ 2 4 1 -3]>> polyval(S1,3)>> x=1:10>> y=polyval(S1,x)>> S1=[ 2 4 1 -3]S1 =2 4 1 -3>> polyval(S1,3)ans =90>> x=1:10x =1 2 3 4 5 6 7 8 9 10>> y=polyval(S1,x)y =Columns 1 through 74 31 90 193 352 579886Columns 8 through 101285 1788 2407练习:求 )12()1)(3)(1(32+++++s s s s s 的“商”及“余”多项式答案:>> S1=[2 0 1] >> S2=[1 3] >> S3=[1 1] >> S4=[3 0 2 1] >> S1=[2 0 1] S1 =2 0 1>> S2=[1 3] S2 =1 3>> S3=[1 1] S3 =1 1>> S4=[3 0 2 1] S4 =3 0 2 1>> S5=conv(S1,S2,S3) Error using ==> conv Too many input arguments.>> S5=conv(S1,S2) S5 =2 6 1 3>> S6=conv(S5,S3)S6 =2 8 7 4 3>> [q,r]=deconv(S6,S4)q =0.6667 2.6667r =0 0 5.6667 -2.0000 0.33332. 多项式插值和拟合有一组实验数据如附表1—1所示x 1 2 3 4 5 6 7 8 9 10y 16 32 70 142 260 436 682 1010 1432 1960 \请分别用拟合(二阶和三阶)和插值(线性和三次样条)的方法估测X=9.5时Y的值。

第4章MATLAB数据分析与多项式计算

第4章MATLAB数据分析与多项式计算

第4章MATLAB数据分析与多项式计算MATLAB是一种强大的数值计算和数据分析工具,能够帮助用户高效地进行各种数据处理和分析操作。

本章将介绍MATLAB在数据分析和多项式计算方面的应用。

1.数据分析数据分析是指通过对大量数据进行整理、分析和挖掘,从中获取有价值的信息和知识。

MATLAB提供了丰富的数据分析函数和工具箱,可以帮助用户进行各种统计分析、数据可视化和模型拟合等操作。

1.1统计分析MATLAB中的统计工具箱提供了丰富的统计分析函数,可以进行各种统计指标的计算,如均值、方差、标准差等。

同时,还可以进行假设检验、置信区间估计等统计推断分析。

1.2数据可视化MATLAB提供了强大的数据可视化工具,可以通过绘制统计图表来展示数据的分布和趋势。

用户可以利用MATLAB绘制条形图、散点图、线图等各种图表,帮助理解数据的特点和关系。

1.3模型拟合MATLAB中的曲线拟合工具可以帮助用户根据已知数据拟合出合适的数学模型。

通过拟合曲线,可以对数据进行预测和推断,从而为后续的决策和分析提供依据。

多项式计算是指对多项式进行各种运算,如多项式乘法、求导、积分等。

在MATLAB中,多项式计算可以利用多项式系数和多项式对象来实现。

2.1多项式乘法MATLAB中提供了polyval函数,可以根据给定的多项式系数和x值计算多项式的值。

此外,还提供了conv函数,可以实现多项式的乘法运算。

2.2多项式求导MATLAB中提供了polyder函数,可以根据给定的多项式系数计算多项式的导数。

用户可以利用该函数计算多项式导函数的值,从而研究多项式的变化规律。

2.3多项式积分MATLAB中提供了polyint函数,可以根据给定的多项式系数计算多项式的积分。

用户可以利用该函数计算多项式在给定区间上的积分值,求解多项式面积和曲线长度等问题。

总结:MATLAB是一种功能强大的数据分析和多项式计算工具,能够帮助用户进行各种数据分析和多项式运算操作。

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

实验三多项式计算与数据处理
一、实验目的
1.掌握多项式的常用运算。

2.掌握数据统计和分析的方法。

3.掌握数值插值与曲线拟合的方法及其应用。

二、实验内容
要求:命令手工 ( )输入!!!
1. 利用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质:
(1) 均值和标准方差。

(2) 最大元素和最小元素。

(3) 大于0.5的随机数个数占总数的百分比。

解:
2. 将100个学生5门功课的成绩存入矩阵P中,进行如下处理:
(1) 分别求每门课的最高分、最低分及相应学生序号。

(2) 分别求每门课的平均分和标准方差。

(3) 5门课总分的最高分、最低分及相应学生序号。

(4) 将5门课总分按从小到大顺序存入zcj中,相应学生序号存入xsxh。

提示:上机实验时,为避免输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机矩阵来表示学生成绩。

3. 数据插值:
某气象观测得某日6:00~18:00之间每隔2h的室内外温度(0C)如实验表1所示。

实验表1 室内外温度观测结果(0C)
时间h 6 8 10 12 14 16 18
室内温度t1 18.0 20.0 22.0 25.0 30.0 28.0 24.0
室外温度t2 15.0 19.0 24.0 28.0 34.0 32.0 30.0 试用三次样条插值分别求出该日室内外6:00~18:00之间任意时刻的近似温度(0C)。

解:
4. 数据拟合:已知lgx在[1,101]区间10个整数采样点的函数值如实验表2所示。

实验表2 lgx在10个采样点的函数值
x 1 11 21 31 41 51 61 71 81 91 101 lgx 0 1.0414 1.3222 1.4914 1.6128 1.7076 1.7853 1.8513 1.9085 1.9510 2.0043 试求lgx的5次拟合多项式p(x),并绘制出lgx和p(x)在[1,101]区间的函数曲线。

解:
clear
clc
x=1:10:101
y=log10(x)
P=polyfit(x,y,5) %多项式5阶次的拟合
y1=polyval(P,x) %对拟合得到的多项式P,当x=1:10:101时计算多项式的值
plot(x,y,':o',x,y1,'-*')
legend('log(x)','多项式',1) %增加图例
gtext('呵呵,拟合的很不错地!')
figure(1)
Warning: Polynomial is badly conditioned. Add points with distinct X
values, reduce the degree of the polynomial, or try centering
and scaling as described in HELP POLYFIT.
> In polyfit at 80
P =
0.0000 -0.0000 0.0001 -0.0058 0.1537 -0.1326
(这里出现警告是提示不必用5价函数就已经可以完美拟合了,是可以降价拟合。

)在[1,101]的区间函数图像
5. 有3个多项式P1(x)=x4+2x3+4x2+5,P2(x)=x+2,P3(x)=x2+2x+3,试进行下列操作:
(1) 求P(x)=P1(x)+P2(x)P3(x)。

(2) 求P(x)的根。

(3) 当x取矩阵A的每一元素时,求P(x)的代数多项式值。

其中:
1
1.2 1.40.752 3.505
2.5A --⎡⎤⎢⎥=⎢⎥
⎢⎥⎣⎦
(4) 当以矩阵A 为自变量时,求P(x)的矩阵多项式值。

其中A 的值与第(3)题相同。

解:MATLAB 命令:。

相关文档
最新文档