matlab实验五

实验五 基于matlab 的数据拟合与回归分析一、 实验类型验证性实验二、 实验学时2学时三、 实验目的1、掌握利用MATLAB 中实现单因变量的多元线性回归分析(经典多元线性回归分析)的方法;2、掌握利用MATLAB 中实现多因变量的多元线性回归分析(多对多线性回归分析)的方法。

3、掌握MATLAB 有关逐步回归的命令。

四、 实验内容及要求 实验内容:1 学习MATLAB 中有关经典多元线性回归分析的命令;(1) [b,bint,r,rint,stats] = regress(y,X,alpha)建立回归分析模型01122,i i i ip ip i y b b x b x b x ε=+++++其中()()2E 0,D i i εεσ==,1,2,,i n =.注:在该命令中,设计矩阵()(1)ij n p X x ⨯+=(X 的第1列全为1 ) 或响应值向量()1i n y y ⨯=中的无效值Nan 将被免忽略。

输入参数至少有2个,alpha 是检验的显著性水平,默认值为0.05。

输出参数至少有1个,b 是回归系数的估计值;bint 是各回归系数的置信度为1-alpha 的置信区间(第1列是它们的下界,第2列是它们的上界);r 是残差,rint 是残差的置信区间;stats 给出一个1*4的向量,依次是判定系数2R ,F 统计量的观测值及检验的p 值,以及误差的方差的估计值2ˆσ. 这里//(1)U p MMSF Q n p MSE==-- 是检验回归模型是否显著的检验统计量,当012:0p H b b b ====成立时, ~(,1)F F p n p --.可以通过分析残差的置信区间来观察原始数据是否存在异常点,若残差的置信区间不包括0,则可认为对应的观测值是异常值,将异常值全部去掉,重新建立的回归模型将更加精确。

可以调用命令rcoplot(r,rint)按观测顺序逐个画出各组观测值对应的残差和残差置信区间,从而观测异常值的位置。

(2) stats = regstats(y,X,model ,whichstats ) % 根据指定模型model 建立回归方程输入参数:响应变量()1i n y y ⨯=,设计变量()ijn pX x ⨯=,model 参数表5.1 model 参数及说明包括系数的估计值、因变量的预测值、残差、判定系数等23个选项供用户选择,通过这一界面,matlab将用户所选择的选项对应的回归分析结果显示在matlab工作空间中。

图5.1 regstats弹出的图形用户界面当带有输出选项stats时,直接返回一个结构体stats,它有24字段,包含了图形界面中的所有选项,此时,不弹出用户界面。

若输入中带有第4个参数whichstats,则stats仅包含whichstats 指定的统计量。

表5.2 stats字段名称及说明(3) 乘方法。

输入参数至少两个,X(n p ⨯)是设计矩阵,y(1n ⨯)响应变量的观测值。

wfun 给出权函数的名称,tune 给出权函数相应的调节系数,const 控制模型中是否包含常数项。

若const=’on’或1,则模型中包含常数项,此时自动在X 的第1列加入1列1,若const=’off’或0,则不包含常数项。

表5.3 权函数与调节系数其中r =,resid 是上一步迭代的残差,/0.6745s MAD =,MAD 是残差绝对值的中位数,若X 有p 列,计算MAD 时应残差绝对值的前p 个值最小值去掉。

h 是最小二乘拟合得到的中心化杠杆值。

输出:至少1个参数,b 是回归模型中的系数向量;stats 返回用于进行模型诊断的结构体变量。

其字段名称和意义如下:表5.4 stats 的字段名称及说明2 [beta,Sigma,E,CovB,logL]= mvregress(X,Y ,Name,Value) 建立多对多的线性回归模型 输入:至少两个参数。

d 维响应变量的观测值矩阵()ij n d Y y ⨯=,设计矩阵X 可以是矩阵或元胞数组,当1d =时,()ijn kX x ⨯=,当模型包含常数项时,X 的第1列应全为1;当d>1,并且Y 的每一个维度有相同的设计矩阵时,()ijn kX x ⨯=或是一个只包含单个n k ⨯的设计矩阵的元胞数组;当 d>1,并且Y 的每一个维度有不同的设计矩阵时,X 将是一个长度为d 的元胞数组,每个元胞都是一个n k ⨯的设计矩阵。

Name 和Value 参数可指定算法与相应的一些选项。

其值如表5.5所示。

表5.5 mvregress 函数的name 选项及其值(部分)的协方差矩阵的估计;E 是残差矩阵;CovB 是beta 的协方差矩阵;,logL 是最后一次迭代对应的对数似然函数的值。

3 学习MATLAB 有关逐步回归的命令。

表5.6 逐步回归命令函数4 (1) 设某种水泥在凝固时所释放的热量Y(卡/克)与水泥中下列4种化学成分有关1x 为233CaO Al O ⋅的成分(%);2x 为23CaO SiO ⋅的成分(%); 3x 为23234CaO Al O Fe O ⋅⋅的成分(%);4x 为22CaO SiO ⋅的成分(%)。

共观测了13组数据(见表5.7)。

试求出Y 与1234,,,x x x x 的回归方程,并对该回归方程和各个回归系数进行检验。

表5.7 水泥数据(2) 设发电量1,工业总产值2与钢材产量1,水泥产量2,机械工业总产值3,棉纱产量4x ,机制纸产量5x 之间有线性相关关系。

现收集了1949到1978年共30年的数据(见表4.2)。

试建立12,Y Y 与12345,,,,x x x x x 的线性模型。

表5.8 发电量与经济发展数据(1)实验过程要求用Matlab 软件完成;(2)实验结果逐个导入Word 文档,并按问题作出解释; (3)实验报告按照既定格式书写。

五、 实验的重点和难点实验重点: MA TLAB 中关于多元线性回归模型的实现方法。

实验难点: 无六、 实验准备1、实验室电脑要求安装有Matlab软件;2、上实验课程的学生要对涉及到的统计概念有所了解;3、要求学生事先查阅并熟悉Matlab的相关命令。

七、实验程序及结果分析1 学习MATLAB中有关经典多元线性回归分析的命令(1)程序如下:y=[7613.51 7850.91 8381.86 9142.81 10813.6 8631.43 8124.94 9429.79 10230.81 10163.61 9737.56 8561.06 7781.82 7110.97]';x1=[7666 7704 8148 8571 8679 7704 6471 5870 5289 3815 3335 2927 2758 2591]'; x2=[16.22 16.85 17.93 17.28 17.23 17 19 18.22 16.3 13.37 11.62 10.36 9.83 9.25]'; X=[ones(size(y)) x1.^2 x2.^2 x1 x2 x1.*x2];[b,bint,r,rint,stats] = regress(y,X)结果:结果说明:b是回归系数的估计值;bint是各回归系数的置信度为1-alpha的置信区间(第1列是它们的下界,第2列是它们的上界);r是残差,rint是残差的置信区间;stats给出一个1*4的向量,依R,F统计量的观测值及检验的p值,以及误差的方差的估计值2ˆ .次是判定系数2(2)程序如下:x=[ones(10,1) (1:10)'];y=x*[10;1]+normrnd(0,0.1,10,1);[b,bint]=regress(y,x,0.05)结果:(3)程序如下:y=[3.73 6.27 5.93 5.77 5.72 5.80 5.87 5.78 5.96 ...6.03 6.507.00 6.80 6.68 7.03 7.67 7.59 6.96 ...7.17 6.99 7.17 6.99 6.64 6.71 7.01 7.40 7.49 ...7.75 8.17 8.09 8.11 8.48 8.99];x=1:33;scatter(x,y);%画图,离散点hold on;p=regress(y',[ones(33,1) x']);%线性拟合r=robustfit(x,y);%稳健拟合plot(x,p(1)+p(2)*x,':',x,r(1)+r(2)*x,'r');%画图legend('原始数据','线性拟合','稳健拟合')%设置图例结果:2. 学习MATLAB有关多对多的多元线性回归分析的命令程序如下:x=[143 144 145 147 148 150 153 154 155 156 157 158 159 160 161 162]'; X=[ones(16,1),x];Y=[87 85 88 91 92 90 93 95 98 98 97 95 97 99 100 102]';[beta,Sigma,E,CovB,logL]= mvregress(X,Y,'covtype','full')%建立多对多的线性回归模型结果:结果说明:beta是回归方程的系数估计矩阵;Sigma是对响应向量的协方差矩阵的估计;E是残差矩阵;CovB是beta的协方差矩阵;,logL是最后一次迭代对应的对数似然函数的值。

3.学习MATLAB有关逐步回归的命令。

程序如下:y=[11.2 13.4 40.7 5.3 24.8 12.7 20.9 35.7 8.7 ...9.6 14.5 26.9 15.7 36.2 18.1 28.9 14.9 25.8 21.7 25.7];%犯罪率y,低收入家庭百分比x1,失业率x2,人口总数x3x1=[16.5 20.5 26.3 16.5 19.2 16.5 20.2 21.3 17.2 14.3 ...18.1 23.1 19.1 24.7 18.6 24.9 17.9 22.4 20.2 16.9];x2=[6.2 6.4 9.3 5.3 7.3 5.9 6.4 7.6 4.9 6.4 6.0 7.4 ...5.8 8.66.5 8.3 6.7 8.6 8.4 6.7];x3=[587 643 635 692 1248 643 1964 1531 713 749 7895 ...762 2793 741 625 854 716 921 595 3353];figure(1),plot(x1,y,'*');figure(2),plot(x2,y,'*');figure(3),plot(x3,y,'*');X1=[x1',x2',x3'];stepwise(X1,y)结果:4.(1)程序如下:a=[7 26 6 60;1 29 15 52;11 56 8 20;11 31 8 47;7 52 6 33;11 55 9 22;1 31 22 44;1 31 22 44;2 54 18 22;21 47 4 26;1 40 23 34;11 66 9 12;10 68 8 12];x1=a(:,1);x2=a(:,2);x3=a(:,3);x4=a(:,4);y=[78.5;74.3;104.3;87.6;95.9;109.2;72.5;72.5;93.1;115.9;83.8;113.3;109.4]; X=[ones(size(x1)),x1,x2,x3,x4];[b,bint,r,rint,stats] = regress(y,X)结果如下:b =69.76611.41180.4621-0.0399-0.2226bint =-97.7881 237.3202-0.3563 3.1798-1.2765 2.2008-1.8203 1.7406-1.9175 1.4722r =0.43281.8950-2.1031-1.2393-0.19323.7441-2.3311-2.33111.17110.71442.62350.5346-2.9178rint =-3.7577 4.6233-3.1648 6.9548-5.8987 1.6924-6.4122 3.9337-5.3272 4.9408-1.2481 8.7364-7.3498 2.6876-7.3498 2.6876-3.9131 6.2554-2.6165 4.0453-2.0795 7.3264-4.7525 5.8216-7.2782 1.4427stats =0.9833 117.4117 0.0000 6.5281说明:b 是线性方程的系数估计值,并且第一值表示常数系数。

合集下载

(完整版)实验五用matlab求二元函数的极值

(完整版)实验五用matlab求二元函数的极值

实验五 用matlab 求二元函数的极值1.计算二元函数的极值对于二元函数的极值问题,根据二元函数极值的必要和充分条件,可分为以下几个步骤: 步骤1.定义二元函数),(y x f z =.步骤2.求解方程组0),(,0),(==y x f y x f y x ,得到驻点.步骤3.对于每一个驻点),(00y x ,求出二阶偏导数22222,,.z z z A B C x x y y ∂∂∂===∂∂∂∂ 步骤4. 对于每一个驻点),(00y x ,计算判别式2B AC -,如果02>-B AC ,则该驻点是极值点,当0>A 为极小值, 0<A 为极大值;如果02=-B AC ,需进一步判断此驻点是否为极值点; 如果02<-B AC 则该驻点不是极值点.2.计算二元函数在区域D 内的最大值和最小值设函数),(y x f z =在有界区域D 上连续,则),(y x f 在D 上必定有最大值和最小值。

求),(y x f 在D 上的最大值和最小值的一般步骤为:步骤1. 计算),(y x f 在D 内所有驻点处的函数值;步骤2. 计算),(y x f 在D 的各个边界线上的最大值和最小值;步骤3. 将上述各函数值进行比较,最终确定出在D 内的最大值和最小值。

3.函数求偏导数的MATLAB 命令MATLAB 中主要用diff 求函数的偏导数,用jacobian 求Jacobian 矩阵。

可以用help diff, help jacobian 查阅有关这些命令的详细信息例1 求函数32824-+-=y xy x z 的极值点和极值. 首先用diff 命令求z 关于x,y 的偏导数>>clear; syms x y;>>z=x^4-8*x*y+2*y^2-3;>>diff(z,x)>>diff(z,y)结果为ans =4*x^3-8*yans =-8*x+4*y即.48,843yxyzyxxz+-=∂∂-=∂∂再求解方程,求得各驻点的坐标。

MATLAB(实验五)

MATLAB(实验五)

实验五1、 编写程序,该程序在同一窗口中绘制函数在[]0,2π之间的正弦曲线和余弦曲线,步长为200/π,线宽为 2 个象素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚线,两条曲线交点处,用红色星号标记,并通过函数方式在生成的图形中添加注释,至少应包括:标题,文本注释,图例和坐标轴标注。

x=0:pi/200:2*pi;sinx = sin(x); cosx = cos(x);k=find(abs(sinx-cosx)<1e-2); x1=x(k);figure,plot(x,sinx,'LineWidth',2) hold on ,plot(x,cosx,'r:','LineWidth',2)hold on ,plot(x(find(cosx==sinx)),cosx(find(cosx==sinx)),'r*','LineWidth',2)hold on ,plot(x1,sin(x1),'r*') xlabel('x:(0-2\pi)'); ylabel('y:sin(x)/cos(x)');title('正弦曲线和余弦曲线');text(x1+0.1,sin(x1),'sin(x)=cos(x)');gtext('sin(x)') gtext('cos(x)')legend('sin(x)','cos(x)')2、 绘制图像:双曲抛物面:22164x y z =-,1616x -<<,44y -<<,并对绘制的双曲抛物面尝试进行视点控制。

[X,Y] = meshgrid(-16:0.4:16,-4:0.1:4); Z = X.^2/16 - Y.^2/4;subplot(1,3,1),plot3(X,Y,Z),view(0,180),title('azimuth = 0,elevation = 180'); subplot(1,3,2),plot3(X,Y,Z),view(-37.5,-30),title('azimuth = -37.5,elevation = -30');subplot(1,3,3),plot3(X,Y,Z),view([3,3,2]),title('viewpoint=[3,3,1]');3、 表中列出了4个观测点的6次测量数据,将数据绘制成为分组形式和堆叠形式的条形图。

实验五 MATLAB二维、三维图形的绘制

实验五  MATLAB二维、三维图形的绘制

实验五 MATLAB二维、三维图形的绘制一、实验目的1.掌握二维、三维图形的绘制;2.掌握特殊二维图形的绘制;3.掌握绘图参数的设置;4.了解并学习简单动画的制作。

二、实验内容1.运行下列程序,学会并掌握标题、坐标轴标签和网格线的设置方法x=0:1:10;y=x.^2-10*x+6;plot(x,y);title ('Plot of y=x.^2-10*x+6');xlabel ('x');ylabel ('y');grid on;2.运行下列程序,学会并掌握线型、点型、颜色的设置方法x = -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,y1,'bo',x,y2,'r:');title('线型、点型和颜色');xlabel('时间'),ylabel('Y');grid on;3.同一坐标系内多条曲线的绘制1)使用 plot(x,[y1;y2;…])x = -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,[y1;y2]);legend('sin x','cos x');2)使用hold命令x = -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,y1);hold on;plot(x,y2,‘r’);3)在plot后使用多输入变量x = -2*pi:pi/20:2*pi;y1 = 2*sin(x);y2 = 2*cos(x);plot(x,y1,'ro',x,y2,'b:');title('线型、点型和颜色');xlabel('时间'),ylabel('Y');4) 使用plotyy命令x = -pi:pi/20:pi;y1 = sin(x);y2 = 5*cos(x);plotyy(x,y1,x,y2);grid on;gtext(‘sinx’) ; gtext(‘5cosx’) ;4.子图形窗口的绘制subplot(2,1,1);x= -pi:pi/20:pi;y=sin(x);plot(x,y) ; grid on;title('正弦曲线');subplot(2,1,2);x= -pi:pi/20:pi;y=cos(x);plot(x,y); grid on;title('余弦曲线');5.对数坐标图形x=0:0.1:10;y=x.^2 -10.*x +25;subplot(2,2,1);plot(x,y); grid on;xlabel('a) x、y轴线性刻度');subplot(2,2,2);semilogx(x,y); grid on;xlabel('b) x轴对数刻度、y轴线性刻度');subplot(2,2,3);semilogy(x,y); grid on;xlabel('c) x轴线性刻度、y轴对数刻度');subplot(2,2,4);loglog(x,y); grid on;xlabel(‘d) x、y轴对数刻度');6.极坐标下的绘图theta = 0:pi/20:2*pi;r = 0.5+cos(theta);polar(theta,r);7.复数的绘图,并比较下面几种情况的不同1)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));plot(y);grid on ;title('Plot of Complex Function vs Time');xlabel('Real Part');ylabel('Imaginary Part');2)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));plot(t, y);grid on ;title('Plot of Complex Function vs Time');xlabel('t');ylabel('y(t)');3)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));plot(t, real(y),'b-');grid on;hold on;plot(t, imag(y),'r-');title('Plot of Complex Function vs Time');xlabel('t');ylabel('y(t)');legend('real','imaginary');hold off;4)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));polar(angle(y),abs(y));title('Plot of Complex Function');8.特殊二维图形的绘制1)x = [1 2 3 4 5 6];y = [2 6 8 7 8 5];stem(x,y);title('Example of a Stem Plot');xlabel('x');ylabel('y');axis([0 7 0 10]);将上述程序中的stem语句换为stairs、bar、barh和compass,即可实现阶梯图、条形图、罗盘图的绘制。

matlab实验五循环结构程序设计实验报告

matlab实验五循环结构程序设计实验报告

实验五:循环结构程序设计实验报告一、实验目的1. 了解循环结构的基本概念和原理;2. 掌握使用Matlab进行循环结构程序设计的方法;3. 提高编程能力和问题解决能力。

二、实验内容1. 学习while循环和for循环的基本语法和用法;2. 设计并编写一些基于循环结构的Matlab程序;3. 分析程序运行结果并进行总结。

三、实验原理循环结构是程序设计中的重要组成部分,它可以让一段代码重复执行多次,从而简化程序的编写。

在Matlab中,循环结构主要有while 循环和for循环两种形式。

while循环在执行循环体前判断条件是否为真,只有条件为真时才会执行循环体;for循环则是指定循环的次数,每次迭代时执行一次循环体。

四、实验步骤与结果1. 编写一个使用while循环的程序,实现1~100的累加。

程序代码如下:```matlabsum = 0;i = 1;while i <= 100sum = sum + i;i = i + 1;enddisp(sum);```运行程序后,得到的结果为5050。

2. 编写一个使用for循环的程序,实现1~10的阶乘。

程序代码如下:```matlabresult = 1;for i = 1:10result = result * i;enddisp(result);```运行程序后,得到的结果为xxx。

五、实验总结通过本次实验,我深刻理解了循环结构的基本概念和原理,掌握了使用Matlab进行循环结构程序设计的方法。

在编写循环程序的过程中,我发现循环结构可以大大简化程序的编写,并且能够高效地处理重复性任务。

我也进一步提高了自己的编程能力和问题解决能力。

本次实验使我对Matlab中的循环结构有了更加深入的了解,我相信这对我的编程能力和日后的学习工作都将大有裨益。

六、实验感想和改进意见通过本次实验,我深刻认识到循环结构在程序设计中的重要性和灵活性。

循环结构能够帮助我们简化程序的编写,提高代码的重用性和可读性,因此在实际的程序设计中,合理地运用循环结构能够大大提高程序的效率和逻辑清晰度。

MATLAB实验五

MATLAB实验五

clear all;close all;dt=0.01;t=0:dt:10;xt=0.1*cos(0.15*pi*t)+0.5*cos(4*pi*t);fs=4;sdt=1/fs;t1=0:sdt:10;st=0.1*cos(0.15*pi*t1)+0.5*cos(4*pi*t1); t2=-50:dt:50;gt=sinc(fs*t2);stt=sigexpand(st,sdt/dt);xt_t=conv(stt,gt);figure(1);subplot(311);plot(t,xt);title('原始信号');subplot(312);plot(t1,st);title('抽样信号');subplot(313);t3=-50:dt:60+sdt-dt;plot(t3,xt_t);title('抽样信号恢复');axis([0 10 -1 1]);function [out]=sigexpand(d,M)N=length(d);out=zeros(M,N);out(1,:)=d;out=reshape(out,1,M*N);012345678910-11原始信号012345678910-11抽样信号-101抽样信号恢复N=1000;dsource = pcm_encode(650);n=10;temp1=ones(1,n);temp0=zeros(1,n);new_dsource=[];for i=1:length(dsource)if dsource(i)==0new_dsource=[new_dsource temp0];elsenew_dsource=[new_dsource temp1];endendT=1;t=0:T/n:T/n*(length(new_dsource)-1);plot(t,new_dsource)axis([min(t)-0.01,max(t)+0.01,min(new_dsource)-0.01,max(new_dsource)+0.01])function [out]=pcm_encode(x)n=length(x);for i=1:nif x(i)>0out(i,1)=1;elseout(i,1)=0;endif abs(x(i))>=0&abs(x(i))<16out(i,2)=0;out(i,3)=0;out(i,4)=0;step=1;st=0;elseif 16<=abs(x(i))&abs(x(i))<32out(i,2)=0;out(i,3)=0;out(i,4)=1;step=1;st=16; elseif 32<=abs(x(i))&abs(x(i))<64out(i,2)=0;out(i,3)=1;out(i,4)=0;step=2;st=32; elseif 64<=abs(x(i))&abs(x(i))<128out(i,2)=0;out(i,3)=1;out(i,4)=1;step=4;st=64; elseif 128<=abs(x(i))&abs(x(i))<256out(i,2)=1;out(i,3)=0;out(i,4)=0;step=8;st=128; elseif 256<=abs(x(i))&abs(x(i))<512out(i,2)=1;out(i,3)=0;out(i,4)=1;step=16;st=256; elseif 512<=abs(x(i))&abs(x(i))<1024out(i,2)=1;out(i,3)=1;out(i,4)=0;step=32;st=512; elseout(i,2)=1;out(i,3)=1;out(i,4)=1;step=64;st=1024; endif (abs(x(i))>=2048)out(i,2:8)=[1 1 1 1 1 1 1];elsetmp=floor((abs(x(i))-st)/step);t=dec2bin(tmp,4)-48;out(i,5:8)=t(1:4);endendout=reshape(out',1,8*n);0.10.20.30.40.50.60.70.80.91。

实验五+MATLAB数值计算(含实验报告)

实验五+MATLAB数值计算(含实验报告)

实验五 MATLAB 数值计算一、实验目的1.掌握求数值导数和数值积分的方法。

2.掌握代数方程数值求解的方法。

3.掌握常微分方程数值求解的方法。

二、实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。

设计提示1.参考本节主要内容,学习并理解相关函数的含义及调用方法。

三、实验内容1.线性系统方程:分别使用左除(\)和求逆(inv )求解下面系统方程的解:⎪⎩⎪⎨⎧=+=+=++377251463c b b a c b a2. 数值积分:使用quad 和trapz 求解⎰-503/dx xe x 的数值积分,并与其解析解9243/5+--e 相比较;3. 请完成教材P154页中实验指导环节的实验内容第2题4. 请完成教材P155页中思考练习的第3题(1),并绘制解在该求解区间(即[0,5])上的图像;。

5、请完成教材P164页实验指导环节的实验内容第5题。

(提示:该函数的符号导数,可以通过函数diff 求得。

首先定义符号变表达式,如求sin(x)的一阶符号导数,可以先定义f=’sin(x)’;df=diff(f);可求得df=cos(x)。

其中df 即为函数f 的一阶符号导数)。

四、实验报告要求(包含预习报告要求和最终报告要求)1.实验名称2.实验目的3.实验设备及条件4.实验内容及要求5.实验程序设计指程序代码。

6.实验结果及结果分析实验结果要求必须客观,现象。

结果分析是对实验结果的理论评判。

7.实验中出现的问题及解决方法8. 思考题的回答五、实验报告的提交方式Word文档,命名方式:实验号_你的学号_姓名例如本次实验:实验一_000000001_张三.doc(信息101提交报告邮箱):E_mail: *******************(网络工程101提交作业邮箱):E_mail: *******************(注意网络班的M是大写的)下一次课前提交,过期不收!六、参考文献参考教材和Matlab帮助文件。

实验五 基于MATLAB控制系统的单位阶跃响应分析

实验五基于MATLAB控制系统的单位阶跃响
应分析
基于MATLAB控制的单位阶跃响应分析
一、实验目的1)学会使用MATLAB编程绘制控制系统的单位阶跃响应曲线。

2)研究二阶系统中ξ,ωn对系统阶跃响应的影响。

3)掌握准确读取动态特性指标的方法。

二、实验内容已知二阶控制系统,用MATLAB完成曲线绘制。

三、实验仪器1、电脑2、 MATLAB软件
四、实验原理例题:3-1若已知单位负反馈前向通道的传递函数为G(S)=100/(s2+5s),试作出其单位阶跃响应曲线,准确读出其动态性能指标,并记录数据。

【解】
老师演示1)作单位阶跃响应曲线参考程序如下:
sys=tf(100,[15 0]);sysc=feedback(sys,1);step(sysc)习题:
1、已知单位负反馈系统的开环传递函数为10/(s2+2s+10)试作出该系统的阶跃响应,并记录其性能指标。

2、已知闭环传递函数为5(s2+5s+6)/s3+6s2+10s+8,试作出阶跃响应曲线,并记录其性能指标。

五、实验步骤
1、老师演示例题。

编程得到曲线,记录数据。

2、学生自行完成习题,编写程序,记录数据。

六、实验结果记录如下:画出仿真图,以及记录实验中的性能指标数据。

七、思考题
1、用其他方法编写程序得到响应曲线。

实验五 用Matlab数据拟合


2. 已知观测数据点如表所示 x 1.6 2.7 1.3 4.1 3.6 2.3 y 17.7 49 13.1 189.4 110.8 34.5
0.6
4
4.9
409.1
3
65
2.4
36.9
求a, b, c的值, 使得曲线 f(x)=aex+bsin x+c lnx 与已知数据 点在最小二乘意义上充分接近.
例4 已知观测数据点如表所示
x 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 y 3.1 3.27 3.81 4.5 5.18 6 7.05 8.56 9.69 11.25 13.17 求三个参数 a, b, c的值, 使得曲线 f(x)=aex+bx2+cx3 与 已知数据点在最小二乘意义上充分接近.
1.55
500 106
2.47
2. 93
3. 03
2.89

1000 106 1500 106 2000 106 2375 106
3 1.953 103 1.517 103 1.219 10
/ / N / m 2 3.103 103 2.465 103
解: 描出散点图, 在命令窗口输入: t=[0:1:16] y=[30.0 29.1 28.4 28.1 28.0 27.7 27.5 27.2 27.0 26.8 26.5 26.3 26.1 25.7 25.3 24.8 24.0] plot(t,y,'*')
a=polyfit(t,y,1) a= -0.3012 29.3804 hold on
beta
= 3.0022 4.0304 0.9404

数学实验MATLAB第五章


学习方法与建议
学习方法
通过理论学习和实践操作相结合的方式,深入理解MATLAB高级编程技术的原 理和应用。
建议
在学习本章之前,读者应该已经具备一定的MATLAB基础知识和编程经验。同 时,建议读者在学习过程中多进行实践操作,通过编写代码来加深对知识点的 理解和掌握。
02 MATLAB基础知识回顾
数学实验matlab第五章
目 录
• 第五章概述 • MATLAB基础知识回顾 • 数组与矩阵操作 • 数值计算与数据分析 • 程序设计与优化 • 综合应用与案例分析
01 第五章概述
章节内容与目标
内容
介绍MATLAB中的高级编程技术 ,包括脚本和函数编程、数据结 构和算法、面向对象编程等。
目标
通过学习本章,读者应该能够熟 练掌握MATLAB的高级编程技术 ,并能够灵活运用这些技术解决 复杂的数学问题。
运算符与函数
运算符
详细讲解MATLAB中的运算符, 包括算术运算符、关系运算符、 逻辑运算符等。同时介绍运算符
的优先级和结合性。
函数
阐述函数的概念,以及如何在 MATLAB中定义和使用函数。同时 介绍函数的输入和输出参数,以及 函数的返回值。
常用函数
介绍MATLAB中常用的函数,包括 数学函数、字符串处理函数、文件 操作函数等。同时给出函数的语法 和使用示例。
矩阵的乘法
按照矩阵乘法的规则进行运算 ,结果矩阵的维数可能发生变
化。
矩阵的转置
将矩阵的行和列互换,得到转 置矩阵。
矩阵的逆
对于方阵,若其逆矩阵存在, 则可以通过特定的运算求得逆
矩阵。
数组与矩阵的应用举例
线性方程组求解
数据分析与处理

matlab实验报告(实验5)

学生实验报告
一、 实验目的
开课学院及实验室:机电学院
2012 年 12 月 28 日
机电学
学院

实验课程名称
年级、专 业、班
1、 掌握 M 脚本文件和函数文件的创建方法,理解两者在形式上和运行上的区别; 2、 理解基本空间和函数空间的含义。 3、 掌握以控制流进行 MATLAB 程序设计的方法以及向量化程序设计方法,了解两者之间的异同; 二、
为频域抽样间隔, 2 1 为带宽。 K
四、实验报告要求
1、简述实验目的、实验原理及其要点; 2、把所有实验内容涉及的指令都以 M 文件方式创建并运行,保存实验结果图形。 3、总结实验中的主要结论。
按照实验内容 1 定义的 f(t)及时域采样方式,并取频域抽样点数 K=100,利用 MATLAB 编程,使用 for 循 环结构计算 F ( ) 在 [8 ,8 ] 在各个频域采样点的值,并画出其频谱图形。
T N 1 F (1 k ) f (t1 nt )e j (1 k )(t1 nt ) N n 0
其中,
(2.1)
根据以上两个等式,利用 MATLAB 编程,使用向量化计算的方法重新完成实验内容 2 和实验内容 3,并把计算结 果与实验内容 2 和实验内容 3 的结果进行比较是否相同(通过计算两者之间的最大绝对误差,观察其值是否接 近 0) 。 6、利用实验内容 5 的代码,把傅里叶变换和傅里叶逆变换分别写为两个 M 函数文件,函数定义形式为: function [F, w] = Fourier_lab2(f, N, T, K) function [f, t] = iFourier_lab2(F, K, W, N) 其中,f 为时域信号,t 为对时域信号 f 的采样点(即采样时刻) 为对时域信号 f 的采用点数,T 为 f 的 ,N 持续时间,K 为频域采样点数,F 为 f 的傅里叶变换,w 为对 F 的频域采样点,W 为 F 的频域带宽。 利用以上两个函数,写出 M 脚本文件重新完成实验内容 5。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档