第一范文网 - 专业文章范例文档资料分享平台

实验五 Matlab数值运算

来源:用户分享 时间:2020-06-18 本文由花骨朵儿 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实验五 MATLAB 数值运算

一、实验目的

掌握 MATLAB 的数值运算及其运算中所用到的函数,掌握结构数组和细胞数组的操作。 二、实验内容:

(1) 多项式运算。

(2) 多项式插值和拟合。 (3) 数值微积分。

(4) 离散傅里叶变换。 三、实验步骤: 1. 多项式运算

(1) 多项式表示。在MATLAB 中,多项式表示成向量的形式。 如:

>>S=[ 1 3 -5 0 9]

在MATLAB 中表示为

(2) 多项式的加减法相当于向量的加减法,但须注意阶次要相同。如不同,低阶的要 补0。如多项式

>>S1=[0 0 2 3 11 ] >>S2=[1 3 -5 4 7 ] >>S3=S1+S2

与多项式相加。

(3) 多项式的乘、除法分别用函数conv 和deconv 实现

>>S1=[ 2 3 11 ] >>S2=[1 3 -5 4 7 ] >>S3=conv(S1,S2) >>S4=deconv(S3,S1)

(4) 多项式求根用函数roots

>> S1=[ 2 4 2 ] >> roots(S1)

(5) 多项式求值用函数polyval

>> S1=[ 2 4 1 -3 ]

>> polyval(S1,3) %计算x=3 时多项式的值 >> x=1:10

>> y=ployval(S1,x) %计算x 向量对应的值得到y 向量

练习:

2. 多项式插值和拟合

有一组实验数据如附表1-1 所示。

请分别用拟合(二阶至三阶)和插值(线性和三次样条)的方法来估测 X=9.5 时Y 的值。以下是实现一阶拟合的语句。

>>x=1:10

>>y=[16 32 70 142 260 436 682 1010 1432 1960] >>p1=ployfit(x,y,1) %一阶拟合

>>y1=ployval(p1,9.5) %计算多项式p1 在x=9.5 时的值

3. 数值微积分

(1) 差分使用diff 函数实现。

>>x=1:2:9 >>diff(x)

(2) 可以用因变量和自变量差分的结果相除得到数值微分。

>>x=linspace(0,2*pi,100); >>y=sin(x); >>plot(x,y)

>>y1=diff(y)./diff(x); >>plot(x(1:end-1),y1)

(3) cumsum 函数求累计积分,trapz 函数用梯形法求定积分,即曲线的面积。

>>x=ones(1,10) >> cumsum(x)

>> x=linspace(0, pi,100); >> y=sin(x); >> S=trapz(y,x)

练习:图A1 是瑞士地图,为了算出其国土面积,首先对地图作如下测量:以由西向东方向为X 轴,由南到北方向为Y 轴,选择方便的原点,并将从最西边界点到最东边界点在X 轴上的区间适当划分为若干段,在每个分点的Y 方向测出南边界点和北边界点的Y 坐标Y1 和Y2,这样就得到了表1,根据地图比例尺知道18mm 相当于40km,试由测量数据计算瑞士国土近似面积,与其精确值41228km2 比较。地图的数据见附表1-2(单位mm)。

附表1-2

X 7 10.5 13 45 59 101 37 47 70 17.5 50 72 34 50 93 40.5 44.5 38 100 30 110 48 30 110 56 34 61 36 68.5 76.5 80.5 91 34 41 116 157 66 85 45 118 158 68 68 46 118 Y1 44 Y2 44 X 96 110 117 118 104 106.5 111.5 118 33 28 32 121 65 116 123.5 136.5 142 146 150 55 122 54 83 52 81 50 82 66 86 Y1 43 Y2 121 124 121 121 提示:由高等数学的知识可知,一条曲线的定积分是它与x 轴所围成的面积,那么两条曲线所围成的面积可由两条曲线的定积分相减得到。

图A1

4. 离散傅里叶变换

给定数学函数x(t)=12sin(2π×10t+π/4)+5cos(2π×40t),取N=128,试对t从0~1秒采样,用fft作快速傅立叶变换,绘制相应的振幅-频率图。 在0~1秒时间范围内采样128点,从而可以确定采样周期和采样频率。由于离散傅立叶变换时的下标应是从0到N-1,故在实际应用时下标应该前移1。又考虑到对离散傅立叶变换来说,其振幅| F(k)|是关于N/2对称的,故只须使k从0到N/2即可。 程序如下:

N=128; % 采样点数

T=1; % 采样时间终点 t=linspace(0,T,N); % 给出N个采样时间ti(I=1:N) x=12*sin(2*pi*10*t+pi/4)+5*cos(2*pi*40*t); % 求各采样点样本值x dt=t(2)-t(1); % 采样周期 f=1/dt; % 采样频率(Hz)

X=fft(x); % 计算x的快速傅立叶变换X F=X(1:N/2+1); % F(k)=X(k)(k=1:N/2+1) f=f*(0:N/2)/N; % 使频率轴f从零开始 plot(f,abs(F),'-*') % 绘制振幅-频率图 xlabel('Frequency'); ylabel('|F(k)|')

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新工程科技实验五 Matlab数值运算 全文阅读和word下载服务。

实验五 Matlab数值运算 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1085077.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top