《数学实验》报告matlab-第五次作业
- 格式:doc
- 大小:246.50 KB
- 文档页数:8
Matlab实验报告一、实验名称:matlab实验报告二、实验目的:熟悉并学会掌握matlab的基本操作。
三、实验内容:准确编写第二,三,四章课后习题的matlab程序。
四、实验数据处理第二章MATLAB 基本操作第一题:利用基本矩阵产生3X3和15X8的单位阵、全1阵、全0阵,随机分布矩阵([-1,1]之间)、正态分布随机阵(均值为1,方差为4)。
程序:>> A=eye(3)A = 1 0 00 1 00 0 1>> A=ones(3)A =1 1 11 1 11 1 1>> A=zeros(3)A =0 0 00 0 00 0 0>> A=1-2*rand(3)A =-0.9003 0.0280 0.08710.5377 -0.7826 0.9630-0.2137 -0.5242 -0.6428>> A=2*randn(3)+1A =0.1349 1.5754 3.3783-2.3312 -1.2929 0.92471.2507 3.3818 1.6546>> B=eye(2,3)B =1 0 00 1 0>> B=ones(2,3)B = 1 1 11 1 1>> B=zeros(2,3)B =0 0 00 0 0>> B=1-2*rand(2,3)B = 0.1106 -0.5839 -0.4764-0.2309 -0.8436 0.6475>> B=2*randn(2,3)+1B =1.3493 2.4516 5.36640.6266 -0.1766 0.7272第五题:利用rand函数产生(0,1)间均匀分布的5X5随机矩阵A,然后统计A中大于等于0.6的元素个数。
程序:A=rand(5)A =0.4057 0.0579 0.2028 0.0153 0.41860.9355 0.3529 0.1987 0.7468 0.84620.9169 0.8132 0.6038 0.4451 0.52520.4103 0.0099 0.2722 0.9318 0.20260.8936 0.1389 0.1988 0.4660 0.6721>> n=sum(sum(A>=0.6))n =9第六题:利用rand函数产生均值为0,方差为1的4X4正态分布随机矩阵A,然后统计A 中大于-0.5且小于0.5的元素个数。
Matlab 数学实验报告一、实验目的通过以下四组实验,熟悉MATLAB的编程技巧,学会运用MATLAB的一些主要功能、命令,通过建立数学模型解决理论或实际问题。
了解诸如分岔、混沌等概念、学会建立Malthu模型和Logistic模型、懂得最小二乘法、线性规划等基本思想。
二、实验容2.1实验题目一2.1.1实验问题Feigenbaum曾对超越函数y=λsin(πx)(λ为非负实数)进行了分岔与混沌的研究,试进行迭代格式x k+1=λsin(πx k),做出相应的Feigenbaum图2.1.2程序设计clear;clf;axis([0,4,0,4]);hold onfor r=0:0.3:3.9x=[0.1];for i=2:150x(i)=r*sin(3.14*x(i-1));endpause(0.5)for i=101:150plot(r,x(i),'k.');endtext(r-0.1,max(x(101:150))+0.05,['\it{r}=',num2str(r)]) end加密迭代后clear;clf;axis([0,4,0,4]);hold onfor r=0:0.005:3.9x=[0.1];for i=2:150x(i)=r*sin(3.14*x(i-1));endpause(0.1)for i=101:150plot(r,x(i),'k.');endend运行后得到Feigenbaum图2.2实验题目二2.2.1实验问题某农夫有一个半径10米的圆形牛栏,长满了草。
他要将一头牛拴在牛栏边界的桩栏上,但只让牛吃到一半草,问拴牛鼻子的绳子应为多长?2.2.2问题分析如图所示,E为圆ABD的圆心,AB为拴牛的绳子,圆ABD为草场,区域ABCD为牛能到达的区域。
问题要求区域ABCD等于圆ABC 的一半,可以设BC等于x,只要求出∠a和∠b就能求出所求面积。
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插值的网络图')。
Plot.ezplot.fplot之间的对比一.问题背景与实验目的函数plot是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。
也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制曲线。
当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x 为m×n 矩阵时,就有n 条曲线。
(2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。
(3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,…元素为纵坐标值绘制多条曲线。
函数fplot 用来绘制数学函数,其调用格式为:fplot(fun,lims)其中fun 就是所要绘制的函数,可以是定义函数的M 文件名,也可以是以x 为变量的可计算字符串,lims=[XMIN XMAX YMIN YMAX]限定了x,y 轴上的绘图空间。
函数ezplot的功能最为强大,它可以像fplot函数那样给出函数和定义域,它也可以无需数据准备,直接画出函数图形,基本调用格式为ezplot(f),其中f 是字符串或代表数学函数的符号表达式,只有一个符号变量。
二.相关函数及简介1、在图形上加格栅、图例和标注(1)grid on: 加格栅在当前图上grid off: 删除格栅(2)xlabel(string): 在当前图形的x轴上加标记string ylabel(string): 在当前图形的y轴上加标记stringzlabel(string): 在当前图形的z轴上加标记stringtitle(string): 在当前图形的顶端上加标记string2、定制坐标Axis([xmin xmax ymin ymax zmin zmax])定制图形坐标Axis auto 将坐标轴返回到自动缺省值3、图形保持(1)hold on------保持当前图形, 以便继续画图到当前图上hold of-----释放当前图形窗口(2)figure(h)新建h窗口,激活图形使其可见,并把它置于其它图形之4、分割窗口subplot(mrows, ncols, thisplot)------划分整个作图区域为mrows*ncols块(逐行对块访问)并激活第thisplot块,其后的作图语句将图形画在该块上。
MATLAB 数学实验报告求下列解方程组:1.(1)⎪⎪⎩⎪⎪⎨⎧=+--=-+-=++-0202432143214321xxxx x xx x xx x x(2)⎪⎪⎩⎪⎪⎨⎧=+=+-=-+0302403231321321x x x x x x x x2. ⎪⎪⎩⎪⎪⎨⎧=++=+-=-+883111023224321321321x x x x x x x x x例1. 绘制函数表达式x²-y³的二维图形。
例2. 在极坐标下绘制函数表达式1+cost的二维图形。
例3. 根据表达式x=sint、y=cost、z=t,绘制三维曲线。
实验过程记录(含基本步骤,主要程序清单及异常情况记录等):1.解:(1) >> A=[1 -1 1 1;1 -1 1 -2;1 -1 -2 1];>> format rat>> n=4;>> RA=rank(A)RA =3>> if(RA==n)else B=null(A,'r')endB =11>> syms k>> x=k*Bx =kk(2) >> A=[2 3 -1;4 -2 1;1 0 3];>> format rat>> n=3;>> RA=rank(A)RA =3>> if(RA==n) x=[0 0 0]else B=null(A,'r')endx =0 0 0 2.解:>> A=[4 2 -1;3 -1 2;11 3 8];b=[2 10 8]';B=[A b];n=3;RA=rank(A)RA =3>> RB=rank(B)RB =3>> if(RA==RB&RA==n)X=A\belse if(RA==RB&RA<n)C=A\bD=null(A,'r')endX =97/40-169/40-3/4例1.解:>> syms x y>>ezplot(x^2-y^)3) 例2. 解: >> syms t>> ezpolar(1+cos(t)) 例3. 解: >> syms t>> ezplot3(sin(t),cos(t),t,[0,6*pi])实验结果报告及实验总结:1.(1)的解为x = kk 0 0(2)的解为x = 00 02的解为X =97/40 -169/40 -3/4 例1.图形结果:xyx 2-y 3 = 0例2.图形结果:902701800r = 1+cos(t)例3.图形结果:-1xx = sin(t), y = cos(t), z = tyz实验总结:对于以上题目的解析,这是我第一次用MATLAB 进行编程来求解实际问题,虽然过程有点艰辛,但每一步都亲力亲为,这让我收获很多,通过做次实验,让我对MATLAB有了进一步的了解,了解了它的强大的功能和他如何求解实际问题,激发了我学好MATLAB的决心。
数学实验报告一、实验目的1.学会用软件对矩阵进行一些数值运算。
2.学会用软件解线性方程组。
3.掌握逆矩阵的一种应用:整数逆矩阵加密、解密方法。
4.熟悉三维空间中的线性变换,加深对正交变换保持距离不变性的理解。
5.掌握泰勒级数在近似计算中的应用,从而理解数值逼近思想。
6.了解无理数e和欧拉常数C的由来历史。
7.了解圆周率π的计算历史,掌握计算圆周率π近似值的多种方法。
8.利用幂级数展开式计算无理数e和欧拉常数C的近似值。
9.学会根据实际问题建立线性规划模型。
10.掌握用软件求解线性函数极值问题。
11.学会建立0-1规划模型,掌握用软件求解0-1规划问题。
二、实验内容1.实验五:练习1:1.(1)程序代码[2,11,1;32,13;1,43,5][1;42][]()结果显示特解:(0.8571,-0.7143,0,0)基础解系:ξ1=(0.1429,-1.2857,1,0),ξ2=(0.1429,0.7143,0,1)通解:0.1429 0.1429 0.8571-1.2857 0.7143 -0.7143k1 1 + k2 0 + 0 12єR0 10感想与反思:A.通过解这道题,熟练掌握了用软件解线性方程组的方法B.手工解线性方程组非常繁琐,通过这道题,进一步认识到的强大2.实验五.练习2.24*4的加密锁:程序代码[3 7 15 22;2 5 11 17;3 6 13 21;9 18 36 46](q)(q)[68 105 108 105 103 101 110 99 101 32 105 115 116 32 116 104 101 32 109 111 116 104 101 114 32 111 102 32 115 117 99 99 101 115 115 32](w,4,9)(q)*b结果显示6*6的加密锁代码[2 3 4 2 1 6;7 7 11 9 2 17;4 6 9 5 2 12;8 7 12 9 2 17;3 3 4 2 1 6;6 4 6 6 1 2](q)(q)[68 105 108 105 103 101 110 99 101 32 105 115 116 32 116 104 101 32 109 111 116 104 101 114 32 111 102 32 115 117 99 99 101 115 115 32](w,6,6)*a(q)*b感想与反思:A.通过解这道题,熟练掌握了逆矩阵的一种应用:整数逆矩阵加密、解密方法B.用矩阵就可以完成对于信息的加密和解密,体会到了矩阵和的神奇C.在选择密码锁矩阵时可以对于一个单位矩阵进行多次初等变换,便于找到3.实验七,练习2.1程序代码单数阶导数在0处的值为零。
实验报告说明:matlab 课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。
第一次实验内容:实验一 MATLAB 运算基础一、实验目的1.熟悉启动和退出MATLAB 的方法。
2.熟悉MATLAB 命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
二、实验内容1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1)22sin 8511z e ︒=+(2)12ln(2z x =,其中2120.455i +⎡⎤=⎢⎥-⎣⎦(3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02a ae e z a a --=+=---提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。
(4)2220141122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪--≤<⎩,其中t =0:0.5:2.5 提示:用逻辑表达式求分段函数值。
2.已知12344347873657A -⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,131203327B -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求下列表达式的值:(1) A+6=B 和A-B+I(其中I 为单位矩阵)。
(2) A*B 和A.*B 。
(3) A^3和A^.3 。
(4) A/B 和B\A 。
(5)[A ,B]和[A([1,3],;);B^2] 。
3.设有矩阵A 和B12345678910111213141516171819202122232425A ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦, 30161769023497041311B ⎡⎤⎢⎥-⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎣⎦(1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D (3) 查看MATLAB 工作空间使用情况。
4.完成下列操作:(1)求[100,999]之间能被21整除的数的个数。
学院数学与计算机科学系上机实验五报告
2015 年至2016 年度第1学期上机时间2015-12-09
数计系级数本班姓名
实验项目:函数的定义、函数间的相互调用、循环编程应用案例
实验目的:掌握函数定义的方法、掌握函数间的相互调用及循环语句的基本应用
实验要求:
定义一个用循环计算某一列元素和的函数sum1。
建一个脚本,脚本中读取以下表格(data.xlsx)的数据,并调用sum1函数计算X1中前10个元素之和,以及计算X2中后10个元素之和。
友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。
《数学实验》报告
实验名称 matlab拟合与插值学院机械工程学院
专业班级
姓名
学号
2011年 10月
一、【实验目的】
掌握Matlab关于采用最小二乘法拟合曲线的方法。
学会使用matlab求实际中得到数据的插值曲线。
二、【实验任务】
P130第8、10、12题
三、【实验程序】
P130第8题:
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];
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.1:0.0017: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('拟合点','一次拟合','三次拟合','七次拟合')
P130第10题
x=[10,15,20,25,30];
y=[25.2,29.8,31.2,31.7,29.4];
xi=10:.5: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,'ro',xi,yi1,'--',xi,yi2,'-',xi,yi3,'k.-',xi,yi4,'m:') ,grid on
legend('原始数据','最近点插值','线性插值','样条插值','立方插值')
P130第12题
[x,y]=meshgrid(-3:.5:3);
z=x.^2/16-y.^2/9;
[x1,y1]=meshgrid(-3:.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:.125: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)
subplot(221),mesh(xi,yi,zi1),title('最近点插值')
subplot(222),mesh(xi,yi,zi2),title('线性插值')
subplot(223),mesh(xi,yi,zi3),title('样条插值')
subplot(224),mesh(xi,yi,zi4),title('立方插值')
四、【实验结果】
P130第8题:
一阶拟合函数
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
P130第10题
X=18时,Y=30.8;
X=26时,Y=31.6;
P130第12题
五、【实验总结】
对matlab中的有关对数据拟合和插值及图像,尤其是输入数据以及函数指令求函数,数据图像的方法要重点掌握,对不同的拟合和插值方法要掌握牢固。
另外,本节的知识和前面学过的二维三维绘图的相关知识联系紧密,很好地结合他们在编程中会有意想不到的收获。