北科大matlab第5次实验报告
MATLAB第五次实验报告模板 (2)
专业:班级:级()班指导老师:汪太月
姓名:学号:实验室:K7-403
实验名称:MATLAB程序设计技术时间:
一、实验目的及要求
(一)、实验目的
1、熟悉MATLAB的脚本文件和函数文件的区别;
2、掌握在MATLAB中子函数的编写;
3、掌握在MATLAB中局部变量和全局变量;
(二)、实验要求
1、在MATLAB会进行脚本文件和函数文件的编写;
2、练习在MATLAB中子函数的编写和调用;
3、练习在MATLAB中局部变量和全局变量的联系和区别;
二、实验设备(环境)及要求
1、支持Intel Pentium Ⅲ及其以上CPU,内存256MB以上、硬盘1GB以上容量的微机;软件配有
Windows98/2000/XP操作系统及MA TLAB软件;
2、实验过程中,务必分析实验结果,按要求写出实验报告。
(建议同时网上提交电子版实验报告:
yw6895@)
三、实验内容与步骤
结
论
年月日教
师批阅1.能按实验要求(很好,好,较差,差)的完成实验。
2.完成实验具有(很好,好,较差,差)的独立性和自主性。
3.实验结果、实验分析、结论(准确,较准确,不准确)。
等级[ ] 教师签名年月日。
(最新版)MATLAB实验报告
(最新版)MATLAB实验报告实验一典型环节的MATLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。
2.选择File菜单下New下的Model命令,新建一个simulink 仿真环境常规模板。
3.在simulink仿真环境下,创建所需要的系统。
以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。
点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。
2)改变模块参数。
在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。
其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。
3)建立其它传递函数模块。
按照上述方法,在不同的simulink 的模块库中,建立系统所需的传递函数模块。
例:比例环节用“Math”右边窗口“Gain”的图标。
4)选取阶跃信号输入函数。
用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。
5)选择输出方式。
用鼠标点击simulink下的“Sinks”,就进入输出方式模块库,通常选用“Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。
MATLAB第五章实验报告
MATLAB数值计算班级:11电信一班姓名:何得中学号:20111060108实验目的:1.了解MATLAB提供的标准多项式的常用函数;2.掌握用MATLAB创建多项式;3.学会用MATLAB对数据的分析;实验仪器:MATLAB软件,电脑实验数据:>> poly2sym([1 2 6 -5 3 9])ans =x^5+2*x^4+6*x^3-5*x^2+3*x+9 >> A=[7 8 9;4 5 6;1 2 3];>> B=poly(A)B =1.0000 -15.0000 18.00000.0000>> poly2sym(B)ans=x^3-15*x^2+18*x+422583449577050 7/633825300114114700748351602688 >> v=[0.5 0.6i -0.4 -0.6i]v =0.5000 0 + 0.6000i -0.4000 0 - 0.6000i>> p=poly(v)p =1.0000 -0.1000 0.1600 -0.0360 -0.0720>> pr=poly2sym(p)pr=x^4-1/10*x^3+4/25*x^2-9/250*x-9/12 5>> p=poly([1 2 3 4 5]);>> polyval(p,6)ans =120>> p=[1 3 1 2 1];>> polyvalm(p,[3 6;8 4])ans = 7186 66668888 8297>> polyvalm(p,7)ans =3494>> p=[1 4 2];>> x=0:0.8:4;>> y=polyval(p,x)y = 2.0000 5.8400 10.9600 17.3600 25.0400 34.0000>> a=[1 -1 4 10];>> r=roots(a);r = 1.1879 + 2.4202i1.1879 -2.4202i-1.3758>> pp=poly(r)pp =1.0000 -1.0000 4.0000 10.0000>> p1=[1,0,1,1];>> p2=[0,1,-1,2];>> p1+p2ans =1 1 0 3>> p1-p2ans =1 -1 2 -1>> c=conv([1 1 2 2],[1 2 5 4])c = 1 3 9 15 18 18 8>> p1=[1,0,1,1]; >> p2=[1,-1,2];>> [q,r]=deconv(p1,p2) q = 1 1 r = 0 0 0 -1 >> g=[1 5 4 6 20 48 27 72 39 ]; >> h=polyder(g) h = 8 35 24 30 80 144 54 72 >> q=polyint(h) q =1 5 4 6 20 48 27 72 0 >> b=[4,9]; >> a=[1,7,8]; >> [r,p,k]=residue(b,a) r = 3.2127 0.7873 p = -5.5616 -1.4384 k = [] >> [b,a]=residue(r,p,k) b = 4.0000 9.0000 a = 1 7 8 x=linspace(0,2*pi,50); >> y=sin(x); >> [p,s]=polyfit(x,y,3) p = 0.0912 -0.8596 1.8527 -0.1649 s = R: [4x4 double] df: 46 normr: 0.5055>> plot(x,y,'r:*',x,polyval(p,x),'-o')>> a=ceil(rand(4,4)*12) a = 12 11 10 12 3 10 6 9 8 6 8 3 6 1 10 5 >> b=ceil(rand(4,4)*10) b = 10 1 2 3 10 4 3 2 5 9 2 1 9 1 7 8 >> x=a\b x = -0.6400 -0.3800 -0.5800 -0.3600 0.0814 1.4697 -0.2959 -0.7021 0.9883 1.0679 0.9748 0.7876 0.5752 -1.7738 0.2055 0.5972 >> x=[1 1.5 2 2.5 3 3.5 4 4.5 5]'; >> y=[-1.4 2.7 3 5.9 8.4 12.2 16.6 18.8 26.2]'; >> e=[ones(size(x)) x.^2]; >> c=e\y c = -1.0685 1.0627>> x1=[1:0.1:5]'; >> y2=[ones(size(x1)),x1.^2]*c;>> plot(x,y,'ro',x1,y2,'k')>> a=[2 4 7 4;9 3 5 6]; >> b=[8 5]'; >> x=pinv(a)*bx = -0.21510.44590.79490.2707>> x=0:0.02*pi:2*pi;>> y=sin(x);>> ymax=max(y)ymax = 1>> ymin=min(y)ymin = -1>> ymean=mean(y)ymean =2.2995e-017>> ystd=std(y)ystd =0.7071>> score=[90 80 78 98 79;100 90 68 78 69;88 77 99 87 100];>> score_sum=sum(score)score_sum = 278 247 245 263 248>> score_avg=score_sum/3.score_avg =92.6667 82.3333 81.6667 87.6667 82.6667>> score_max=max(score)score_max=100 90 99 98 100>>[score_max,score_max_student]=max(s core)score_max =100 90 99 98 100score_max_student = 2 2 3 1 3>> score_min=min(score)score_min = 88 77 68 78 69>>[score_min,score_min_student]=min(sc ore)score_min = 88 77 68 78 69score_min_studen t=3 3 2 2 2>> score_student_sum=sum(score) score_student_sum=278 247 245 263 248>>score_student_savg=score_student_sum. /3score_student_savg =92.6667 82.3333 81.6667 87.6667 82.6667>> std(score)ans =6.4291 6.8069 15.8219 10.0167 15.8219>> var(score)ans =41.3333 46.3333 250.3333 100.3333 250.3333>> x=linspace(0,2*pi,10)x =0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 4.8869 5.5851 6.2832>> y=sin(x)y=0 0.6428 0.9848 0.8660 0.3420 -0.3420 -0.8660 -0.9848 -0.6428 -0.0000>> dy=diff(y)dy=0.6428 0.3420 -0.1188 -0.5240 -0.6840 -0.5240 -0.1188 0.3420 0.6428>> d2y=diff(y,2)d2y= -0.3008 -0.4608 -0.4052 -0.1600 0.1600 0.4052 0.4608 0.3008>> d3y=diff(y,3)d3y= -0.1600 0.0556 0.2452 0.3201 0.2452 0.0556 -0.1600>> x=[1 2 3 4 5];>> y=[4 5 6 7 8];>> cx=cov(x)cx = 2.5000>> cy=cov(y)cy = 2.5000>> cxy=cov(x,y)cxy =2.5000 2.50002.5000 2.5000>> x=-1:0.2:1;>> z=exp(x.^2);>> fx=gradient(z)fx= -0.8218 -0.6425 -0.3615 -0.1963 -0.0868 0 0.0868 0.1963 0.3615 0.6425 0.8218function ex=ex(x)ex=exp(-x.^2)return>> format long>> quad('ex',0,1,1e-6)ex = 1.00000000000000 0.981730032806080.928898599395100.778800783071400.588254444230630.473852624646280.36787944117144ex = 0.99540087747802 0.95936125127772ex =0.86171221264734 0.68574192538547ex = 0.53040332078406 0.41944631668514ans = 0.74682418072642>> quadl('ex',0,1,1e-6)ex=1.000000000000000.999184727905840.991616959101330.968441445328330.926451851978820.864349866175970.778800783071400.682385279905670.592380095006350.509706301048790.438272262810980.389185953389380.36787944117144ex = 0.99161695910133 0.926451851978820.778800783071400.592380095006350.43827226281098ans = 0.74682413398845>> quad8('ex',0,1,1e-6) ex =1.00000000000000 0.999184727905840.991616959101330.968441445328330.92645185197882 0.86434986617597 0.778800783071400.682385279905670.592380095006350.509706301048790.438272262810980.389185953389380.36787944117144ex= 0.99161695910133 0.926451851978820.778800783071400.592380095006350.43827226281098ans = 0.74682413398845x0=0:pi/5:4*pi;y0=sin(x0).*exp(-x0/10);xi=0:pi/20:4*pi;yi=interp1(x0,y0,xi,'spline');plot(x0,y0,'or',xi,yi,'--b');Untitled2>> t=0:5:65;>> x=2:5:57;>>f=[3.1025,2.256,879.5,1835.9,2968.8,41 36.2,5237.9,6152.7,6725.3,6848.3,6403. 5,6824.7,7328.5,7857.6];>> f1=interp1(t,f,x)f1 = 1.0e+003 *0.002763900000000.353153600000001.262060000000002.289060000000003.435760000000004.576880000000005.603820000000006.381740000000006.774500000000006.670380000000006.571980000000007.02622000000000>> f2=interp1(t,f,x,'nearext') f2 = 1.0e+003 *0.003102500000000.002256000000000.879500000000001.835900000000002.968800000000004.136200000000005.237900000000006.152700000000006.725300000000006.848300000000006.403500000000006.82470000000000>> f3=interp1(t,f,x,'spline') f3 = 1.0e+003 *-0.170259056484550.306978324423981.256000890788642.269771808421483.439603875525464.589619889476705.637043766567756.422853844252316.859291256423016.653528330055636.481654623354457.04407557652658 >> f4=interp1(t,f,x,'cubic')f4 = 1.0e+003 *0.002438844000000.223194994900141.248358437730492.273647289639383.436483654858934.591276133775775.636234122067276.436239461848896.797756124209326.691730400000006.507716445924327.01855707680041[x,y,z]=peaks(6);mesh(x,y,z)[xi,yi]=meshgrid(-3:0.2:3,-3:0.2:3); z1=interp2(x,y,z,xi,yi,'nearest');z2=interp2(x,y,z,xi,yi,'linear');z3=interp2(x,y,z,xi,yi,'spline');z4=interp2(x,y,z,xi,yi,'cubic'); subplot(2,2,1)mesh(xi,yi,z1)title('nearest插值的网络图') subplot(2,2,2)mesh(xi,yi,z2)title('linear插值的网络图') subplot(2,2,3)mesh(xi,yi,z3)title('spline插值的网络图') subplot(2,2,4)mesh(xi,yi,z4)title('cubic插值的网络图')。
MATLAB实验报告
实验一、Matlab 软件的安装与基本使用一、实验目的和要求:学会MA TLAB 软件的安装方法,熟悉MA TLAB 的工作环境及其基本功能的设置,以及基本指令的使用,了解MA TLAB 数值数组及其矩阵操作的使用、复数的输入方法。
二、实验内容和步骤:1、完成MA TLAB 软件的安装。
2、安装完成后启动MA TLAB 软件,熟悉MA TLAB 的工作环境。
打开MA TLAB 7,默认打开的窗口包括: (1)命令窗口(Command Window); (2)命令历史窗口(Command History); (3)工作间管理窗口(Workspace);(4)当前路径窗口(Current Directory)此外,还有捷径键、编译窗口、图形窗口和帮助窗口等其他种类的窗口,结合课本实例,熟悉每个窗口的功能和基本使用。
3、(1)求23)]47(212[÷-⨯+的运算结果,注意命令后有无分号的作用。
命令及结果如下:t=[12+2*(7-4)]/3^2t = 2(2)求20012x x v t at =++的值,其中t=5s 、010x m =、015/v m s =、29.81/sec a m =-。
命令及结果如下:syms t x0 v0 a; t=5,x0=10,v0=15,a=-9.18; x=x0+v0*t+1/2*a*t^2 t = 5 x0 = 10 v0 = 15 x = -29.7500(3) 设3x =, 4v =,用MA TLAB 命令求下列各式的值:1)22log()x v + 命令及结果如下:syms x v x=3,v=4; log(x^2+v^2)x = 3 ans =3.21892)2(2)x v - 命令及结果如下:syms x vx=3,v=4;f=(sqrt(x-3))/(x-2*v)^2 x = 3 f = 0 3) |sin 2|vx e命令及结果如下: syms x v x=3,v=4;t=abs(2*x)*exp(v) x = 3t = 327.58894、用三种不同的方法输入矩阵1234246836912a ⎛⎫ ⎪= ⎪ ⎪⎝⎭,运行并观察实验结果,矩阵的三种基本输入方法如下:a=[1,2,3,4;3,4,6,8;3,6,9,12] a =1 2 3 4 3 4 6 8 3 6 9 12>> a=[1,2,3,43,4,6,8 3,6,9,12]a =1 2 3 4 3 4 6 8 3 6 9 12>> >>利用M 文件创建 1 2 3 4 3 4 6 8 3 6 9125、输入复数矩阵⎥⎦⎤⎢⎣⎡-+++=i ii i24356223B ,并求其实部、虚部、模和幅角(分别用弧度和角度表示),了解MA TLAB 向量化运算的特点。
matlab实践报告
竭诚为您提供优质文档/双击可除matlab实践报告篇一:matlab实习报告mATLAb实习报告姓名:吴涛专业:电子信息工程班级学号:信息(2)班20XX1605010230指导教师:宋艳霞钱云实习时间:20XX,5,13至20XX,5,17目录:一:实习目的 (3)二:实习任务...........................三:实习要求...........................四:实习目的...........................五:实习体会...........................一:实习目的熟悉matlab的软件环境熟悉matlab的基本使用方法二:实习任务1.掌握matlab语言的基本语法规则及基本操作命令的使用。
2.熟悉运用matlab的数组,矩阵运算,数学运算的运算方法。
3.熟悉matlab的字符串,单元数组。
4.熟悉matlab的程序设计。
5.熟悉matlab的符号计算功能。
6.熟悉matlab的绘图及句柄图形。
7.6熟悉matlab的guI设计。
三:实习要求1.每次上机要签到,记录。
2.做的题目要在上机结束后以电子版和woRD文档形式交给指定负责人。
3.认真做一份实习总结报告。
四:实习内容共六题第1题:求a和b的和。
代码:a=[1,2,3]b=[4,5,6]s=a+b结果:s=579第2题:求a和b的差。
代码:a=[4,5,6]b=[1,2(:matlab实践报告),3]h=a-b结果:h=333第3题:求下列方程组的解。
6x1+3x2+4x3=3-2x1+5x2+7x3=-48x2-4x2-3x3=-7代码:A=[6,3,4;-2,5,7;8,-4,-3] b=[3;-4;-7]a=A\b结果:a=0.60007.0000-5.4000第4题:用for语句求三角函数表。
代码:forx=0:0.1:pi/4disp([x,sin(x),cos(x),tan(x)]),en d结果:00100.10000.09980.99500.10030.20000.19870.98010.20270.30000.29550.95530.30930.40000.38940.92110.4228篇二:matlab课程实践报告mATLAb实践》课程设计学生姓名:林淑真学号:110900824专业班级:通信工程四班指导教师:郑晓明二○一二年六月十五日《目录1.设计目的.........................................................22.题目分析.........................................................23.总体设计.........................................................34.具体设计.........................................................35.结果分析.........................................................226.心得体会.........................................................237.参考书目.........................................................238.附录 (24)1、设计目的综合运用mATLAb工具箱实现图像处理的guI程序设计。
matlab计算机实验报告
matlab计算机实验报告Matlab计算机实验报告引言Matlab是一种强大的计算机软件,广泛应用于科学计算、数据分析和工程设计等领域。
本实验报告旨在介绍我对Matlab的实验研究和应用。
通过实验,我深入了解了Matlab的功能和特点,并通过实际案例展示了其在科学计算和数据处理中的应用。
实验一:基本操作和语法在本实验中,我首先学习了Matlab的基本操作和语法。
通过编写简单的程序,我熟悉了Matlab的变量定义、赋值、运算符和条件语句等基本语法。
我还学习了Matlab的矩阵操作和向量化计算的优势。
通过实例演示,我发现Matlab在处理大规模数据时具有高效性和便捷性。
实验二:数据可视化数据可视化是Matlab的重要应用之一。
在本实验中,我学习了如何使用Matlab绘制各种图表,如折线图、散点图、柱状图和饼图等。
我了解了Matlab 的绘图函数和参数设置,并通过实例展示了如何将数据转化为直观的图形展示。
数据可视化不仅可以帮助我们更好地理解数据,还可以用于数据分析和决策支持。
实验三:数值计算和优化Matlab在数值计算和优化方面具有强大的功能。
在本实验中,我学习了Matlab 的数值计算函数和工具箱,如数值积分、微分方程求解和线性代数运算等。
通过实例研究,我发现Matlab在求解复杂数学问题和优化算法方面具有出色的性能。
这对于科学研究和工程设计中的数值分析和优化问题非常有用。
实验四:图像处理和模式识别Matlab在图像处理和模式识别领域也有广泛的应用。
在本实验中,我学习了Matlab的图像处理工具箱和模式识别算法。
通过实例演示,我了解了如何使用Matlab进行图像滤波、边缘检测和特征提取等操作。
我还学习了一些常见的模式识别算法,如支持向量机和神经网络等。
这些技术在计算机视觉和模式识别中具有重要的应用价值。
实验五:信号处理和系统建模Matlab在信号处理和系统建模方面也有广泛的应用。
在本实验中,我学习了Matlab的信号处理工具箱和系统建模工具。
北京科技大学数学实验第五次
《数学实验》报告实验名称 Matlab拟合与插值2013年12月一、【实验目的】1.学习Matlab的一些基础知识,主要多项式及其相关计算等;2.熟悉Matlab中多项式的拟合,编写一些相关的Matlab命令等;3.熟悉Matlab中多项式的插值,并编写一些相关的Matlab命令等;4.完成相关的练习题。
二、【实验任务】1.在钢线碳含量对于电阻的效应的研究中,得到以下数据.分别用一次、三次、五次多项式拟合曲线来拟合这组数据并画出图形,计算当x=0.45时的电阻值.碳含量x 0.10 0.30 0.40 0.55 0.70 0.80 0.95 电阻y 15 18 19 21 22.6 23.8 262.在某种添加剂的不同浓度之下对铝合金进行抗拉强度试验,得到数据如下,现分别使用不同的插值方法,对其中没有测量的浓度进行推测,并估算出浓度X=18及26时的抗压强度Y的值.浓度X 10 15 20 25 30抗压强度Y 25.2 29.8 31.2 31.7 29.43.用不同方法对在(-3,3)上的二维插值效果进行比较.三、【实验程序】1.在钢线碳含量对于电阻的效应的研究中,得到以下数据.分别用一次、三次、五次多项式拟合曲线来拟合这组数据并画出图形,计算当x=0.45时的电阻值.M文件clc;clf;x=[0.1 0.3 0.4 0.55 0.7 0.8 0.95];y=[15 18 19 21 22.6 23.8 26];p1=polyfit(x,y,1);p3=polyfit(x,y,3);p5=polyfit(x,y,5);x1=0.1:0.05:1;y1=polyval(p1,x1);y3=polyval(p3,x1);y5=polyval(p5,x1);plot(x,y,'rp',x1,y1,'b-',x1,y3,'g-.',x1,y5,'m--');legend('拟合点','一次拟合','三次拟合','五次拟合');disp('以下为当x=0.45时的电阻值:')disp('一阶拟合函数值'),g1=polyval(p1,0.45)disp('三阶拟合函数值'),g3=polyval(p3,0.45)disp('五阶拟合函数值'),g5=polyval(p5,0.45)2.在某种添加剂的不同浓度之下对铝合金进行抗拉强度试验,得到数据如下,现分别使用不同的插值方法,对其中没有测量的浓度进行推测,并估算出浓度X=18及26时的抗压强度Y的值.clc;clf;x=[10 15 20 25 30];y=[25.2 29.8 31.2 31.7 29.4];xi=10:0.05:30;yi1=interp1(x,y,xi,'*nearest');yi2=interp1(x,y,xi,'*linear');yi3=interp1(x,y,xi,'*spline');yi4=interp1(x,y,xi,'*cubic');plot(x,y,'rp',xi,yi1,'g-',xi,yi2,'c-.',xi,yi3,'m--',xi,yi4,'b:')grid on;legend('原始数据','最近点插值', '线性插值','样条插值','立方差值')3.用不同方法对在(-3,3)上的二维插值效果进行比较.M文件clf;t=-3:1:3;[x,y]=meshgrid(t);z=x.^2/16-y.^2/9;t1=-3:0.5:3;[x1,y1]=meshgrid(t1);z1=x1.^2/16-y1.^2/9;[xi,yi]=meshgrid(t1);zi1=interp2(x,y,z,xi,yi,'*nearest');zi2=interp2(x,y,z,xi,yi,'*linear');zi3=interp2(x,y,z,xi,yi,'*spline');zi4=interp2(x,y,z,xi,yi,'*cubic');subplot(3,2,1),mesh(x,y,z),title('数据点')subplot(3,2,2),mesh(x1,y1,z1),title('函数图像')subplot(3,2,3),mesh(xi,yi,zi1),title('最近点插值')subplot(3,2,4),mesh(xi,yi,zi2),title('线性插值')subplot(3,2,5),mesh(xi,yi,zi3),title('样条插值')subplot(3,2,6),mesh(xi,yi,zi4),title('立方插值')四、【实验结果】1.在钢线碳含量对于电阻的效应的研究中,得到以下数据.分别用一次、三次、五次多项式拟合曲线来拟合这组数据并画出图形,计算当x=0.45时的电阻值.碳含量x 0.10 0.30 0.40 0.55 0.70 0.80 0.95 电阻y 15 18 19 21 22.6 23.8 26图1.1 x=0.45时的电阻值图1.2 几种拟合曲线比较2.在某种添加剂的不同浓度之下对铝合金进行抗拉强度试验,得到数据如下,现分别使用不同的插值方法,对其中没有测量的浓度进行推测,并估算出浓度X=18及26时的抗压强度Y的值.浓度X 10 15 20 25 30抗压强度Y 25.2 29.8 31.2 31.7 29.4图2.抗拉强度试验的插值法如图所示,样条插值和立方插值的效果比较好,故以此两条曲线,估算出浓度X=18及26时的抗压强度Y的值。
matlab 实验报告
matlab 实验报告Matlab 实验报告引言:Matlab(Matrix Laboratory)是一种强大的科学计算软件,它为科学家、工程师和研究人员提供了一个强大的计算环境。
本实验报告旨在介绍我对Matlab的实验结果和使用体验,以及对其优点和局限性的思考。
一、Matlab的基本功能和特点Matlab是一种高级编程语言和开发环境,它具有广泛的数学和工程计算功能。
通过Matlab,我可以进行矩阵运算、数值计算、数据可视化、算法开发等一系列操作。
Matlab的语法简洁易懂,可以快速实现复杂的计算任务。
此外,Matlab还提供了大量的工具箱,如信号处理、控制系统、图像处理等,使得各种领域的科学研究和工程应用变得更加便捷。
二、实验结果与应用案例在本次实验中,我选择了一个经典的数值计算问题——求解非线性方程。
通过Matlab的数值计算能力,我可以使用不同的迭代方法来求解方程的根。
在实验中,我使用了牛顿迭代法、二分法和割线法来求解方程。
通过对比这些方法的收敛速度和精度,我得出了不同方法的优缺点。
在实际应用中,Matlab可以广泛应用于信号处理、图像处理、数据分析等领域。
例如,在信号处理中,我可以使用Matlab的信号处理工具箱来进行滤波、频谱分析等操作。
在图像处理中,我可以利用Matlab的图像处理工具箱进行图像增强、边缘检测等操作。
这些应用案例充分展示了Matlab在科学计算和工程应用中的重要性和灵活性。
三、Matlab的优点1. 强大的计算功能:Matlab提供了丰富的数学和工程计算函数,可以高效地进行复杂的计算任务。
2. 简洁的语法:Matlab的语法简洁易懂,使得编程变得更加高效和便捷。
3. 丰富的工具箱:Matlab提供了大量的工具箱,覆盖了各种领域的科学计算和工程应用需求。
4. 可视化能力强:Matlab提供了丰富的绘图函数,可以直观地展示数据和计算结果。
四、Matlab的局限性1. 高昂的价格:Matlab是一款商业软件,其价格较高,对于个人用户而言可能不太容易承受。
Matlab上机实验(第四次和第五次)
Matlab 上机实验(第四次和第五次)要求:每次上机要签到,以下题目在第四次上机时以电子版形式交到共享文件夹中,共享文件夹位置见公共邮箱。
上交电子文档的文件名按照专业班级学号姓名顺序给出,比如应用电子0701班李伟文(学号3106002803)上交的文件名为:应电0701班3106002803李伟文。
上机地点:信息学院机房404,406。
1.设,求>> syms x;f=x*exp(2*x);diff(f,x,20)ans = 10485760*exp(2*x)+1048576*x*exp(2*x)2.设,求>> syms x;f=sin(x).^4+cos(x).^4;diff(f,x,10)ans =1572864*sin(x)^2*cos(x)^2-262144*cos(x)^4-262144*sin(x)^43.设,求>> syms x y;z=y^4*sin(x)^4+x^4*cos(y)^4;diff(z,x)ans =4*y^4*sin(x)^3*cos(x)+4*x^3*cos(y)^44.⎰++dx x x x ))(1(122>> syms x;f=((x^2+1)*(x^2+x))\1;int(f,x)ans = log(x)-1/2*log(x+1)-1/4*log(x^2+1)-1/2*atan(x)5.dx x x ⎰-632)9(>> syms x;f=x^6\(9-x^2)^(2\3);int(f,x)ans =-1/45/x^5*(9-x^2)^(5/2)6.⎰+213x x dx >> syms x;f=(x+x^3)\1;int(f,x,1,2)ans = 3/2*log(2)-1/2*log(5)7.求级数的和: ∑∞=+122n n n (利用帮助,查找symsum )>> syms n;symsum(2^n\(n+2),1,inf)ans =48.利用函数int 计算二重不定积分 >> syms x y;z=(x+y)*exp(-x*y);t=int(int(z,x),y)t =x*Ei(1,x*y)+x*(1/x/y*exp(-x*y)-Ei(1,x*y))+1/x*exp(-x*y)9.设方程(1)0)cos(3=+a x ,(2)0)cos(3=+x x 及(3)0)cos(3=+ax x ,用符号运算工具箱函数solve 分别求x 的解。
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。
MATLAB实验报告
MATLAB实验报告MATLAB 实验报告姓名:专业:学号:实验⼀ MATLAB环境的熟悉与基本运算⼀、实验⽬的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算⼆、实验基本知识:1.熟悉MATLAB环境:MATLAB桌⾯和命令窗⼝、命令历史窗⼝、帮助信息浏览器、⼯作空间浏览器⽂件和搜索路径浏览器。
2.掌握MATLAB常⽤命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英⽂字母开头(3)长度不⼤于31个(4)区分⼤⼩写MATLAB中设置了⼀些特殊的变量与常量,列于下表。
MATLAB运算符,通过下⾯⼏个表来说明MATLAB的各种常⽤运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的⼀维、⼆维数组的寻访表6 ⼦数组访问与赋值常⽤的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常⽤函数表8 标准数组⽣成函数表9 数组操作函数三、实验内容1、学习安装MATLAB软件。
2、学习使⽤help命令,例如在命令窗⼝输⼊help eye,然后根据帮助说明,学习使⽤指令eye(其它不会⽤的指令,依照此⽅法类推)3、学习使⽤clc、clear,观察command window、command history和workspace 等窗⼝的变化结果。
4、初步程序的编写练习,新建M-file,保存(⾃⼰设定⽂件名,例如exerc1、exerc2、exerc3……),学习使⽤MATLAB的基本运算符、数组寻访指令、标准数组⽣成函数和数组操作函数。
注意:每⼀次M-file的修改后,都要存盘。
四、实验结果练习A:(1)help rand,然后随机⽣成⼀个2×6的数组,观察command window、command history和workspace等窗⼝的变化结果。
matlab实验报告总结
matlab实验报告总结Matlab实验报告总结引言:Matlab是一种广泛应用于科学计算和工程领域的高级编程语言和环境。
在这个实验报告总结中,我将回顾我在使用Matlab进行实验时的经验和收获。
通过这些实验,我学到了很多关于Matlab的功能和应用,同时也提高了自己的编程和数据分析能力。
一、Matlab基础知识的学习和应用在实验中,我首先学习了Matlab的基础知识,包括变量的定义、矩阵和数组的操作、函数的使用等。
通过这些基础知识的学习,我能够更加熟练地使用Matlab进行数值计算和数据处理。
例如,我学会了如何定义一个矩阵,并进行矩阵的加减乘除运算,这对于解决线性方程组或者进行矩阵变换非常有帮助。
二、数据可视化与图像处理Matlab具有强大的数据可视化功能,通过使用Matlab的绘图函数,我可以将数据以图表的形式直观地展示出来。
在实验中,我使用Matlab绘制了各种类型的图表,包括折线图、柱状图、散点图等。
这些图表不仅美观,而且能够更好地帮助我理解和分析数据。
此外,我还学习了Matlab的图像处理工具箱,通过使用这些工具,我可以对图像进行滤波、增强、分割等操作,从而得到更好的图像效果。
三、数值计算和优化算法Matlab提供了丰富的数值计算和优化算法,通过使用这些算法,我可以解决各种数学问题和优化问题。
在实验中,我学习了如何使用Matlab进行数值积分、数值微分、方程求解等操作。
同时,我还学习了一些常用的优化算法,如遗传算法、粒子群算法等。
这些算法在实际问题中具有广泛的应用,通过使用Matlab,我能够更加高效地解决这些问题。
四、信号处理与模拟仿真Matlab在信号处理和模拟仿真方面也有很强的功能。
通过使用Matlab的信号处理工具箱,我可以对信号进行滤波、降噪、频谱分析等操作。
这对于处理实际采集到的信号数据非常有帮助。
同时,我还学习了如何使用Matlab进行模拟仿真,通过建立数学模型和仿真算法,我可以模拟和分析各种实际系统的行为。
MATLAB实验5报告参考模板
学院数学与计算机科学系上机实验五报告
2015 年至2016 年度第1学期上机时间2015-12-09
数计系级数本班姓名
实验项目:函数的定义、函数间的相互调用、循环编程应用案例
实验目的:掌握函数定义的方法、掌握函数间的相互调用及循环语句的基本应用
实验要求:
定义一个用循环计算某一列元素和的函数sum1。
建一个脚本,脚本中读取以下表格(data.xlsx)的数据,并调用sum1函数计算X1中前10个元素之和,以及计算X2中后10个元素之和。
友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。
(2021年整理)Matlab实验报告
Matlab实验报告编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(Matlab实验报告)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为Matlab实验报告的全部内容。
实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境.2.学习使用图形函数计算器命令funtool及其环境.二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1)y=sin(x); (2) y=(1+x)^3*(2—x);求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1-x^2);(4)y=(x1)/(x+1)/(x+2)求反函数(1)y=(x—1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2));代数式的化简(1)(x+1)*(x-1)*(x-2)/(x—3)/(x—4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x-3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2)y2=(x+2)^2(3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4(6) y6=x^2/23.两个函数之间的操作求和(1)sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5乘积(1)exp(-x)*sin(x) (2) sin(x)*x商(1)sin(x)/cos(x);(2) x/(1+x^2); (3) 1/(x-1)/(x-2); 求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2) (3) y=sin(u) u=asin(x)(4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。
matlab实验报告
matlab实验报告《matlab 实验报告》一、实验目的通过本次实验,熟悉 MATLAB 软件的基本操作和功能,掌握使用MATLAB 进行数学计算、数据处理、图形绘制等方面的方法和技巧,提高运用 MATLAB 解决实际问题的能力。
二、实验环境1、计算机:_____2、操作系统:_____3、 MATLAB 版本:_____三、实验内容及步骤(一)矩阵运算1、创建矩阵在 MATLAB 中,可以通过直接输入元素的方式创建矩阵,例如:`A = 1 2 3; 4 5 6; 7 8 9`,创建了一个 3 行 3 列的矩阵 A。
还可以使用函数来创建特定类型的矩阵,如全零矩阵`zeros(m,n)`、全 1 矩阵`ones(m,n)`、单位矩阵`eye(n)`等。
2、矩阵的基本运算加法和减法:两个矩阵相加或相减,要求它们的维度相同,对应元素进行运算。
乘法:矩阵乘法需要满足前一个矩阵的列数等于后一个矩阵的行数。
转置:使用`A'`来获取矩阵 A 的转置。
(二)函数的使用1、自定义函数可以在 MATLAB 中自定义函数,例如定义一个计算两个数之和的函数:```matlabfunction s = add_numbers(a,b)s = a + b;end```2、调用函数在命令窗口中输入`add_numbers(3,5)`即可得到结果 8。
(三)数据的读取和写入1、读取数据使用`load`函数可以读取数据文件,例如`load('datatxt')`。
2、写入数据使用`save`函数可以将数据保存到文件中,例如`save('resulttxt',A)`,将矩阵 A 保存到`resulttxt`文件中。
(四)图形绘制1、二维图形绘制折线图:使用`plot(x,y)`函数,其中 x 和 y 分别是横坐标和纵坐标的数据。
绘制柱状图:使用`bar(x,y)`函数。
2、三维图形绘制三维曲线:使用`plot3(x,y,z)`函数。
MATLAB实验报告(5-9)
第五次MATLAB实验报告一.实验报告1.学会运用MATLAB分析连续系统的频率特性;2.学会运用MATLAB进行连续系统的频域分析;二.实验任务熟练运用MATLAB进行连续时间LTI系统的频率特性及频率分析,三.实验内容(1).MATLAB信号处理工具箱提供的freqs函数可直接计算系统的频率响应的数值解,其语句格式为H=freqs(b,a,w)。
b,a分别表示H(w)的分子和分母多项式的系统向量;w为系统频率响应的频率范围,其一般形式为w1:p:w2,w1为频率起始值,w2位频率终止值,p为频率取样间隔,H返回的样值可能包括实部和虚部的复数。
因此,如果想要得到系统的幅频特性或相频特性,还需利用abs和angle 函数来分别求得。
(2).连续LTI系统的频域分析法也称傅里叶变换分析法。
四.实验小结该实验让我们学会了在MATLAB软件上用傅里叶分析法对连续系统进行频率特性和频域的分析,并输出相应的图形。
五.实验作业(1).实例8-1实例8-4六.第六次MATLAB实验报告一、实验目的1.学会运用MATLAB求拉普拉斯变换。
2.学会运用MATLAB求拉普拉斯反变换。
3.学会运用MATLAB求解系统函数的零极点。
4.学会运用MATLAB分析系统函数的零极点分布与其时域特性的关系。
5.学会运用MATLAB分析系统函数的极点分布与系统稳定性的分布。
6.学会运用MATLAB绘制波特图。
二、实验任务熟练运用MATLAB进行一系列的编程输出结果和输出图形。
三、实验内容1.拉普拉斯变换:利用MATLAB的符号数学工具箱中laplace函数来实现拉布拉斯变换,语句格式:L=laplace(f);2.拉普拉斯反变换:(1).语句格式:f=ilaplace(L);(2).用MATLAB函数residue可以得到复杂有理分式F(s)的部分分式展开式,语句格式:[r,p,k]=residue(B,A);例题:format rat;B=[3];A=[1,7,10];[r,p,k]=residue(B,A)这里k=0。
matlab实验五报告
09电子系物本 姓名: 周 琴 学号: 120091001129实验指导五一、 实验目的掌握定义和调用MATLAB 函数的方法。
二、 实验内容1、建立5×6矩阵,要求输出矩阵第n 行元素。
当n 值超过矩阵的行数时,自动转为输出矩阵的最后一行元素,并给出出错信息。
2、已知:y=()()()403020f f f +(1) 当f(n)=n+10ln(n^2+5)时,y 的值是多少。
(2) 当f(n)=1*2+2*3+3*4+…+n*(n+1)时,y 的值是多少。
3、先用函数的递归调用一个函数文件求50121k =1111n m i k k i k k k ===++∑∑∑∑100,然后调用该函数文件求。
三、实验数据:1、>> cleara=rand(5,6);n=input('请输入一个数:');if n>5n=5a(n,:)disp('输入超出范围');elsea(n,:)end请输入一个数:6n =5ans =0.7680 0.4983 0.7266 0.9334 0.1338 0.5751 输入超出范围2、(1)保存的文件名:n2a.m代码:function a=n2a(n)a=n+10*log(n*n+5)命令窗:clear;y=n2a(40)/(n2a(30)+n2a(20))a =113.8088a =98.0793a =80.0389y =0.6390(2)创建函数文件名:n1b.m代码:function b=n1b(n)b=0;for i=1:nb=b+i*(i+1);end命令窗内容:clear;y=n1b(40)/(n1b(30)+n1b(20))y =1.76623、首先建立命令文件分别并以文件名factor1.m和factor2.m和factor3存盘. Factor1中的代码如下:function f=factor1(k)if k==1f=1;elsef=factor1(k-1)+k;endFactor2中的代码如下:function f=factor2(k)if k==1f=1;elsef=factor2(k-1)+k^2;endFactor3中的代码如下:function f=factor3(k)if k==1f=1;elsef=factor3(k-1)+1/k;end在命令窗口中输入:y=factor1(100)+factor2(50)+factor3(10);y运行结果: y =4.7978e+004。
北科大Matlab_数学实验报告1~6次(全)
《数学实验》报告实验名称 Matlab 基础知识学院专业班级姓名学号2014年 6月一、【实验目的】1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。
2.掌握Matlab基本操作和常用命令。
3.了解Matlab常用函数,运算符和表达式。
4.掌握Matlab工作方式和M文件的相关知识。
5.学会Matlab中矩阵和数组的运算。
二、【实验任务】P16 第4题编写函数文件,计算1!nkk =∑,并求出当k=20时表达式的值。
P27第2题矩阵A=123456789⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,B=468556322⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,计算A*B,A.*B,并比较两者的区别。
P27第3题已知矩阵A=5291⎡⎤⎢⎥⎣⎦,B=1292⎡⎤⎢⎥⎣⎦,做简单的关系运算A>B,A==B,A<B,并做逻辑运算(A==B)&(A<B),(A==B)&(A>B)。
P34 第1题用11114357π=-+-+……公式求π的近似值,直到某一项的绝对值小于-610为止。
三、【实验程序】P16 第4题function sum=jiecheng(n) sum=0;y=1;for k=1:nfor i=1:ky=y*i;endsum=sum+y;endsumP27第2题>>A=[1 2 3;4 5 6;7 8 9]>>B=[4 6 8;5 5 6;3 2 2]>>A*BP27第3题>> A=[5 2;9 1];B=[1 2;9 2];>>A>B>>A==B>>A<B>> (A==B)&(A<B)>> (A==B)&(A>B)P34 第1题t=1;pi=0;n=1;s=1;while abs(t)>=1e-6pi=pi+t;n=n+2;s=-s;t=s/n;endpi=4*pi;四、【实验结果】P16 第4题P27第2题两者的区别:A*B是按正规算法进行矩阵的计算, A.*B是对应元素相乘。
matlab实验报告
matlab实验报告Matlab实验报告引言:Matlab(Matrix Laboratory)是一种高级的计算机编程语言和环境,主要用于数值计算、数据分析和可视化。
它的功能强大,被广泛应用于科学研究、工程设计和教学实验等领域。
本实验报告将介绍我在使用Matlab进行实验过程中的一些经验和收获。
一、Matlab的基本语法和数据类型Matlab的语法与其他编程语言相比较简单,但仍然需要掌握一些基本的语法规则。
例如,Matlab中的变量命名不区分大小写,但建议使用小写字母来命名变量。
Matlab支持多种数据类型,包括数值型、字符型、逻辑型等。
在实验中,我常常使用数值型数据进行计算和分析。
二、Matlab中的矩阵运算矩阵运算是Matlab的重要特性之一,它使得处理大量数据变得更加高效和简便。
我在实验中经常使用矩阵运算来进行数据的处理和分析。
例如,我可以使用矩阵乘法来计算两个矩阵的乘积,或者使用矩阵的转置来进行数据的重排和变换。
Matlab还提供了丰富的矩阵运算函数,如求逆矩阵、特征值分解等,这些函数大大简化了复杂计算的过程。
三、Matlab的数据可视化Matlab提供了强大的数据可视化功能,可以帮助我们更直观地理解和展示数据。
在实验中,我常常使用Matlab绘制曲线图、散点图和柱状图等,以便更清晰地观察数据的分布和趋势。
Matlab的绘图函数丰富多样,可以根据不同的需求选择合适的图形类型和样式。
此外,Matlab还支持图像处理和三维可视化等高级功能,这些功能在科学研究和工程设计中有着广泛的应用。
四、Matlab的编程和调试Matlab不仅是一种计算工具,还是一种编程语言。
通过编写脚本和函数,我们可以实现更复杂的计算和操作。
在实验中,我常常使用Matlab编写自定义函数来实现特定的功能。
编程过程中,我注意到Matlab的调试功能非常强大,可以帮助我们找出代码中的错误和问题。
Matlab提供了断点调试、变量监视和错误提示等功能,这些功能对于提高代码的可靠性和效率非常有帮助。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数学实验》报告
实验名称数学实验
学院自动化
专业班级
姓名
学号
2015年4月
一、 【实验目的】
使用MATLAB 进行线性代数相关运算中的多项式运算,实现多项式拟合以及多项式插值 二、 【实验任务】
1、在钢线碳含量对于电阻的效应的研究中,得到以下数据,分别用一次、三
次、五次多项式拟合曲线来拟合这组数据并画出图形。
2、在某种添加剂的不同浓度之下对铝合金进行抗拉强度试验,得到数据如下,
现分别使用不同的插值方法,对其中间没有测量的浓度进行推测,并估算出浓度X=18及26时的抗压强度Y 的值。
3、用不同方法对9
16x z 2
2y -=在()33-,上的二维插值效果进行比较。
三、 【实验程序】
1、
x = [0.10, 0.30, 0.40, 0.55, 0.70, 0.80, 0.95];%碳含量x y = [15, 18, 19, 21, 22.6, 23.8, 26]; %电阻y
p1 = polyfit(x, y, 1); p3 = polyfit(x, y, 3); p5 = polyfit(x, y, 5);
disp('一阶拟合函数'), f1 = poly2str(p1, 'x') disp('三阶拟合函数'), f3 = poly2str(p3, 'x') disp('五阶拟合函数'), f5 = poly2str(p5, 'x')
x1 = 0.10 : 0.005 : 0.95;
y1 = polyval(p1, x1);
y3 = polyval(p3, x1);
y5 = polyval(p5, x1);
plot(x, y, 'rp', x1, y1, '--', x1, y3, 'k-.', x1, y5);
legend('拟合点', '一次拟合', '三次拟合', '五次拟合')
2、
x = 10 :5 : 30; ; %浓度x
y = [25.2, 29.8, 31.2, 31.7, 29.4]; %抗压强度y
p4=polyfit(x,y,4);
x1 = 10 : 0.1 : 30;
y1 = interp1(x, y, x1, '*nearest'); %最近点插值
y2 = interp1(x, y, x1, '*linear'); %线性插值
y3 = interp1(x, y, x1, '*spline'); %样条插值
y4 = interp1(x, y, x1, '*cubic'); %立方插值
plot(x, y, 'ro', x1, y1, '--', x1, y2, '-', x1, y3, 'k-.', x1, y4, 'm:') legend('原始数据', '最近点插值', '线性插值', '样条插值', '立方插值')
3、
[x, y] = meshgrid(-3 : 0.5 : 3);
z = x.^2./16 - y.^2./9; %给出数据点
[x1, y1] = meshgrid(-3 : 0.1 : 3);
z1 = x1.^2./16 - y1.^2./9;
figure(1)
subplot(1, 2, 1), mesh(x, y, z), title('数据点')
subplot(1, 2, 2), mesh(x1, y1, z1), title('数据图像')
[xi, yi] = meshgrid(-3 : 0.15 : 3); %确定插值点
zi1 = interp2(x, y, z, xi, yi, '*nearest'); %最近点插值
zi2 = interp2(x, y, z, xi, yi, '*linear'); %线性插值
zi3 = interp2(x, y, z, xi, yi, '*spline'); %样条插值
zi4 = interp2(x, y, z, xi, yi, '*cubic'); %立方插值
figure(2) %打开另一个图形窗口,绘制使用4种方法得到的图形
subplot(2, 2, 1), mesh(xi, yi, zi1), title('最近点插值')
subplot(2, 2, 2), mesh(xi, yi, zi2), title('线性插值')
subplot(2, 2, 3), mesh(xi, yi, zi3), title('样条插值')
subplot(2, 2, 4), mesh(xi, yi, zi4), title('立方插值')
四、【实验结果】
1、
一阶拟合函数
f1 =
12.5503 x + 13.9584
三阶拟合函数
f3 =
8.9254 x^3 - 14.6277 x^2 + 19.2834 x + 13.2132
五阶拟合函数
f5 =
146.1598 x^5 - 386.879 x^4 + 385.5329 x^3 - 178.8558 x^2 + 49.9448 x + 11.4481
2、
由图可知样条插值效果最好,估算出浓度X=18及26时的抗压强度Y分别为30.8以及31.6。
3、
五、【实验总结】
本次试验是关于matlab在多项式的拟合与多项式的插值两方面的应用,MATLAB可以方便地进行多项式的相关计算,功能强大。