Matlab数学实验报告
数学软件MATLAB实验报告 实验一

实验一:了解数学软件MATLAB实验目的与要求:了解MATLAB的基本特点,掌握MATLAB界面上的主要窗口,熟练掌握MATLAB的帮助系统。
实验内容:1启动按钮打开MATLAB主界面以后,单击“Start”按钮,显示一个菜单,利用“START”菜单机器子菜单中的选项,打开MATLAB的有关工具。
2命令窗口命令窗口(Command Window)是用于输入数据,运行MA TLAB函数和脚本并显示结果的主要工具之一。
命令窗口没有打开时,从“Desktop”菜单中选择“Command Window”选项可以打开它。
在命令窗口中键入命令并执行:a=[123;456;789]在上述语句末尾加分号“;”,结果是什么?请与不加分号的情况作比较。
功能。
命令历史窗口(command history)显示命令窗口中最近输入的所有语句。
先关闭历史窗口,再分别用“Desktop”菜单打开它和用command history命令打开它。
(1)将命令历史窗口中的语句复制到命令窗口中;(2)直接双击命令历史窗口中的语句。
4工作空间窗口清空工作空间的命令是:clear清空命令窗口的命令是:clc在命令窗口中键入:t=0:pi/4:2*piy=sin(t)在命令窗口中键入:who,看运行结果;在命令窗口中键入:whos,看运行结果;在命令窗口中键入:whos y,看运行结果。
退出MATLAB时,工作空间中的内容随之清除。
可以将当前空间中的部分或全部变量保存到一个MA T文件中,它是一个二进制文件,扩展名为.mat。
然后可以在以后使用它时载入它,请练习这一操作过程。
5帮助浏览器使用帮助浏览器可以搜索和查询所有Math Works产品的文档和演示。
帮助浏览器是集成到MA TLAB桌面的一个HTML查看器。
请打开帮助浏览器,熟悉它。
分别用Help函数和doc函数获取format函数的帮助,进而说明format函数的功能。
Matlab实验报告六(三次样条与分段线性插值)

实验名称插值与拟合
所属课程数学软件与实验
实验类型综合型实验
专业信息与计算科学
班级
学号
姓名
指导教师
一、实验概述
【实验目的】
学会在matlab环境下使用几种不同的插值法和拟合两种方法构造函数依据已经知道的某些特殊点来推测实际问题中需要知道但又不便于测量出来的量。
【实验原理】
1.z=interp2(x0,y0,z0,x,y,’method’): 要求x0,y0单调;x, y可取为矩阵, 或x取行向量, y取为列向量, x,y的值分别不能超出x0,y0的范围。
2.分段线性插值与计算量与n无关;n越大, 误差越小.
3.三次样条插值比分段线性插值更光滑。
4.‘linear’ : 分段线性插值;‘spline’ : 三次样条
二、实验内容
问题1 对函数, x([-5,5], 分别用分段线性插值和三次样条插值作插值(其中插值节点不少于20), 并分别作出每种插值方法的误差曲线.
1180 1320 1450 1420 1400 1300 700 900];
mesh(x,y,z)
xi=0:20:2800;
yi=0:20:2400;
zi=interp2(x,y,z,xi',yi,'cubic');
mesh(xi,yi,zi)
3.结果
4.结论及分析
通过实验,结果正确,分析无误。
三、实验小结
1270 1500 1200 1100 1350 1450 1200 1150
1230 1390 1500 1500 1400 900 1100 1060
1180 1320 1450 1420 1400 1300 700 900
初识MATLAB的实验报告

初识MATLAB的实验报告1. 引言MATLAB(Matrix Laboratory)是一种高级的技术计算环境和编程语言。
它具有强大的矩阵计算能力和丰富的科学和工程绘图功能,被广泛应用于各个领域的科研与工程实践中。
本实验旨在初步了解MATLAB的基本语法和功能,通过实际操作加深对MATLAB编程的理解。
2. 实验目的1. 掌握MATLAB的安装和基本使用方法;2. 学习MATLAB中的常用数学函数和操作;3. 了解MATLAB绘图功能并能够绘制简单的图形。
3. 实验步骤3.1 MATLAB安装首先,在官方网站(3.2 MATLAB入门3.2.1 MATLAB语法MATLAB的语法类似于其他常见的编程语言,每个语句以分号结尾。
在MATLAB 中,可以直接进行基本的数学运算,例如加减乘除、指数、对数等。
通过以下代码可以计算两个变量的和并将结果打印出来:matlaba = 10;b = 20;sum = a + b;disp(sum);3.2.2 MATLAB变量在MATLAB中,可以创建和操作各种类型的变量,例如数值、字符串、矩阵等。
以下代码演示了如何创建一个矩阵:matlabmatrix = [1, 2, 3; 4, 5, 6; 7, 8, 9];disp(matrix);3.2.3 MATLAB函数MATLAB提供了许多内置的数学函数,可以直接调用。
以下代码演示了如何计算正弦函数值并打印结果:matlabx = pi/4;y = sin(x);disp(y);3.3 MATLAB绘图MATLAB具有强大的绘图功能,可以绘制各种图形,如曲线、散点图、柱状图等。
以下代码演示了如何绘制一个简单的正弦曲线:matlabx = linspace(0, 2*pi, 100);y = sin(x);plot(x, y);xlabel('x');ylabel('y');title('Sine Curve');4. 实验结果与分析在完成上述实验步骤后,我们成功安装了MATLAB,并学习了基本的语法、变量和函数的使用方法。
MATLAB实验报告模板

MATLAB实验报告模板实验题目:使用MATLAB进行数字信号处理实验目的:1. 学习MATLAB的基本操作和数字信号处理中常用的函数。
2. 掌握数字信号的离散化、采样、量化等处理方法。
3. 实现数字滤波器的设计和应用。
实验内容:1. 生成并绘制一个正弦波信号,包括频率、幅度和相位等参数。
2. 对信号进行采样,并绘制采样后的离散信号图像。
3. 对采样后的信号进行量化,并绘制量化后的信号图像。
4. 设计一个数字滤波器,并将滤波前后的信号图像进行对比。
实验步骤:1. 生成一个正弦波信号:```matlab% 信号频率为3Hz,幅度为2,相位为0t = 0:0.01:1;f = 3;A = 2;theta = 0;x = A * sin(2*pi*f*t + theta);```2. 绘制信号图像:```matlabplot(t, x);xlabel('时间');ylabel('幅度');title('正弦波信号');```3. 进行信号的采样:```matlab% 采样频率为20Hzfs = 20;Ts = 1/fs;n = 0:Ts:1;xs = A * sin(2*pi*f*n + theta);```4. 绘制采样信号图像:```matlabstem(n, xs);xlabel('时间');ylabel('幅度');title('采样信号');```5. 进行信号的量化:```matlab% 将信号量化为8位bits = 8;delta = (2 * A) / (2^bits);xq = floor(xs / delta + 0.5) * delta;```6. 绘制量化信号图像:```matlabstem(n, xq);xlabel('时间');ylabel('幅度');title('量化信号');```7. 设计数字滤波器:```matlab% 采用FIR滤波器,截止频率为4Hz fcut = 4;n = 100; % 滤波器阶数b = fir1(n, 2*fcut/fs);y = filter(b, 1, xq);```8. 绘制滤波前后的信号图像:```matlabfigure;subplot(2,1,1);stem(n, xq);xlabel('时间');ylabel('幅度');title('量化信号');subplot(2,1,2);stem(n, y);xlabel('时间');ylabel('幅度');title('滤波信号');```实验结果和分析:根据以上实验步骤,可以得到正弦波信号、采样信号、量化信号和滤波信号等图像。
matlab实验报告总结

matlab实验报告总结1.求一份matlab的试验报告计算方法试验报告3【实验目的】检查各种数值计算方法的长期行为【内容】给定方程组x'(t)=ay(t),y'(t)=bx(t), x(0)=0, y(0)=b的解是x-y 平面上的一个椭圆,利用你已经知道的算法,取足够小的步长,计算上述方程的轨道,看看那种算法能够保持椭圆轨道不变。
(计算的时间步长要足够多)【实验设计】用一下四种方法来计算:1. Euler法2. 梯形法3. 4阶RK法4. 多步法Adams公式【实验过程】1. Euler法具体的代码如下:clear;a=2;b=1;A=[0 a; -b0];U=[];u(:,1)=[0;b];n=1000000;h=6*pi/n;fori=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5; u(:,i+1)=u(:,i)+h*A*u(:,i);endt=1:n+1;subplot(1, 2,1);plot(1:n,delta);gridon;subplot(1,2,2);plot(u(1,:),u(2,:));gridon;max(abs(delta-ones(1,length(delta))));结果如下:2. 梯形法具体的代码如下:clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=300;h=6*pi/n;for i=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;v1=u(:,i)+h*A*u(:,i);v2=u(:,i)+h*A*(u(:,i)+v1)/2;1u(:,i+1)=u(:,i)+h*A*(u(:,i)+v2)/2;endt=1:n+1;sub plot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下 3. 4阶RK法clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=70;h=6*pi/n;for i=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;k1=A*u(:,i); k2=A*(u(:,i)+h/2*k2); k3=A*(u(:,i)+h*k3); k4=A*(u(:,i)+h*k3); u(:,i+1)=u(:,i)+h/6*(k1+2*k2+2*k3+k4);endt=1:n+1 ;subplot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:4. 多步法Adams公式clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=200;h=6*pi/n;u(:;2)=u(u,1)+h*A*u(:,1);u(:;3)=u(u,2)+h/2*A*(3*u(:,2)-u(:,1));u(:;4)=u(u,3)+h/12*A*(23*u(:,3)-16*u(:,2)+5*u(:, 1)); delta(1)=((u(1,1)/a)^2+(u(2,1)/b^2)^0.5 delta(2)=((u(1,2)/a)^2+(u(2,2)/b^2)^0.5delta(3)=((u(1,3)/a)^2+(u(2,3)/b^2)^0.5for i=4:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;u(:,i+1)=u(:,i)+h/24*A*(55*u(:,i)-59*u(:,i-1)+37 *u(:,i-1)+37*u(:,i-2)-9*u(:,i-3));endt=1:n+1;sub plot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:【实验分析】通过这几种方法对比,发现最为稳定的是多步法Adams公式和4阶RK法,其次是梯形法,而欧拉法最为不稳定。
(完整word版)Matlab数学实验报告

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 数学实验报告

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的决心。
matlab实验报告

实验一:MATLAB基本操作一、实验目的1、学习掌握MA TLAB语言的基本操作方法2、掌握命令窗口的使用3、熟悉MA TLAB的数据表示、基本运算和程序控制语句4、熟悉MA TLAB程序设计的基本方法二、实验内容和要求2.b.帮助命令的使用,查找SQRT函数的使用方法按Start-help-search,输入sqrtc.矩阵运算(1)已知A=[1 2;3 4];B=[5 5;7 8];求A^2*B输入A=[1 2;3 4];B=[5 5;7 8];A^2*B结果为:ans =105 115229 251(2)矩阵除法已知A=[1 2 3 ;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];求A/B,A\BA/B=1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000A\B=1.0e+016 *0.3152 -1.2609 0.9457-0.6304 2.5218 -1.89130.3152 -1.2609 0.9457(3)矩阵的转置及共轭转置已知A=[15+i,2-i,1;6*i,4,9-i];求A.',A'A=15.0000 + 1.0000i 2.0000 - 1.0000i 1.00000 + 6.0000i 4.0000 9.0000 - 1.0000iA.'=15.0000 + 1.0000i 0 + 6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000iA'=15.0000 - 1.0000i 0 - 6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知A=[1 2 3;4 5 6;7 8 9];求A中第三列前两个元素;A中所有第二行的元素A =1 2 34 5 67 8 9求A中第三列前两个元素:A([1,2],3)ans =36求A中所有第二行的元素:A(2,1:1:end)ans =4 5 6(5)方括号[]用magic函数生成一个4阶魔方矩阵,删除该矩阵的第四列magic(4)ans =16 2 3 135 11 10 89 7 6 124 14 15 1a=ans;a(:,[1,2,3])ans =16 2 35 11 109 7 64 14 153..多项式(1)求多项式p(X)=x^3-2x-4的根(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]求矩阵A的特征多项式;求矩阵多项式中未知数为20时的值;把矩阵A作为未知数代入到多项式中;(1)a=[1,0,-2,-4]x=roots(a)x =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i(2)求特征多项式系数:A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]p=poly(A)p =1.0000 -6.9000 -77.2600 -86.1300 604.5500求矩阵多项式中未知数为20时的值:c=polyval(p,20)c =7.2778e+004把矩阵A作为未知数代入到多项式中:c=polyval(p,A)c =1.0e+003 *0.3801 -0.4545 -1.9951 0.4601-1.9951 0.2093 -1.9951 -2.8880-0.4545 -4.8978 0.6046 0.43530.4353 0.0840 -0.4545 -1.16174、基本程序设计(1)编写命令文件:计算1+2+3+……+n<2000;n=0;s=0;while s<2000n=n+1;s=s+n;endn=n-1n =62(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。
matlab数学实验报告

MATLAB数学实验报告指导老师:班级:小组成员:时间:201_/_/_Matlab第二次实验报告小组成员:1题目:实验四;MATLAB选择结构与应用实验目的:掌握if选择结构与程序流程控制;重点掌握break;return;pause语句的应用..问题:问题1:验证“哥德巴赫猜想”;即:任何一个正偶数n>=6均可表示为两个质数的和..要求编制一个函数程序;输入一个正偶数;返回两个质数的和..问题分析:由用户输入一个大于6的偶数;由input语句实现..由if判断语句判断是否输入的数据符合条件..再引用质数判断函数来找出两个质数;再向屏幕输出两个质数即可..编程:function z1;z2=geden;n=input'please input n'if n<6disp'data error';returnendif modn;2==0for i=2:n/2k=0;for j=2:sqrtiif modi;j==0k=k+1;endendfor j=2:sqrtn-iif modn-i;j==0k=k+1;endendif k==0fprintf'two numbers are'fprintf'%.0f;%.0f';i;n-ibreakendendend结果分析:如上图;用户输入了大于6的偶数返回两个质数5和31;通过不断试验;即可验证哥德巴赫猜想..纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰;更快的解决问题..2题目:实验四;MATLAB选择结构与应用实验目的:用matlab联系生活实际;解决一些生活中常见的实际问题..问题:问题四:在一边长为1的四个顶点上各站有一个人;他们同时开始以等速顺时针沿跑道追逐下一人;在追击过程中;每个人时刻对准目标;试模拟追击路线;并讨论.. (1)四个人能否追到一起(2)若能追到一起;每个人跑过多少路程(3)追到一起所需要的时间设速率为1问题分析:由正方形的几何对称性和四个人运动的对称性可知;只需研究2个人的运动即可解决此问题..编程:hold onaxis0 1 0 1;a=0;0;b=0;1;k=0;dt=0.001;v=1;while k<10000d=norma-b;k=k+1;plota1;a2;'r.';'markersize';15;plotb1;b2;'b.';'markersize';15;fprintf'k=%.0f b%.3f;%.3f a%.3f;%.3f d=%.3f\n';k;b1;b2;a1;a2;da=a+b1-a1/d*dt;b2-a2/d*dt;b=b+b2-a2/d*dt;-b1-a1/d*dt;if d<=0.001breakendendfprintf'每个人所走的路程为:%.3f';k*v*dtfprintf'追到一起所需要的时间为%.3f';k*dt结果分析:上图为2人的模拟运动路线;有对称性可解决所提问题..-上图为运算过程和运算结果..四个人可以追到一起;走过的路程为1.003;时间也为1.003.纪录:此题利用正方形和运动的对称性可以简便运算..3题目:实验八;河流流量估计与数据插值目的:由一些测量数据经过计算处理;解决一些生活实际问题..问题:实验八上机练习题第三题:瑞士地图如图所示;为了算出他的国土面积;做以下测量;由西向东为x轴;由南向北为y轴;从西边界点到东边界点划分为若干区域;测出每个分点的南北边界点y1和y2;得到以下数据mm..已知比例尺1:2222;计算瑞士国土面积;精确值为41288平方公里..测量数据如下:x=7.0 10.5 13.0 17.5 34 40.5 44.5 48 56 61 68.5 76.5 80.5 91 96 101 104 106 111.5 118 123.5 136.5 142 146 150 157 158 ;y1=44 45 47 50 50 38 30 30 34 36 34 41 45 46 43 37 33 28 32 65 55 54 52 50 66 66 68;y2=44 59 70 72 93 100 110 110 110 117 118 116 118 118 121 124 121 121 121 122 116 83 81 82 86 85 68;问题分析:先由题目给定的数据作出瑞士地图的草图;再根据梯形法;使用trapz语句;来估算瑞士国土的面积..编程:x=7.0 10.5 13.0 17.5 34 40.5 44.5 48 56 61 68.5 76.5 80.5 91 96 101 104 106 111.5 118 123.5 136.5 142 146 150 157 158;y1=44 45 47 50 50 38 30 30 34 36 34 41 45 46 43 37 33 28 32 65 55 54 52 50 66 66 68;y2=44 59 70 72 93 100 110 110 110 117 118 116 118 118 121 124 121 121 121 122 116 83 81 82 86 85 68;plotx;y1;'r.';'markersize';15;plotx;y2;'r.';'markersize';15;axis0 160 0 135grid;hold ont=7:158;u1=splinex;y1;t;u2=splinex;y2;t;plott;u1plott;u2s1=trapzt;u1;s2=trapzt;u2;s=s2-s1*2222*22222/10000000;fprintf'S=%.0f';s结果分析:上图为由所给数据绘制出的瑞士地图..上图为运算结果;计算出瑞士的国土面积为42472平方公里;与准确值41288较为接近..纪录:使用梯形分割的方法;trapz语句可以方便计算不规则图形面积;但存在一定误差..4题目:实验七:圆周率的计算与数值积分目的:将数值积分最基本的原理应用于matlab之中;解决一些与积分有关的问题..问题:实验七上机练习题第一题:排洪量某河床的横断面如图7.3所示;为了计算最大排洪量;需要计算其断面积;试根据所给数据m用梯形法计算其断面积..问题分析:河床断面可近似分割成若干曲边梯形;近似处理把它们当做梯形来计算面积可使问题得到简化..编程:clc;clear;x=0 4 10 12 15 22 28 34 40;y=0 1 3 6 8 9 5 3 0;y1=10-y;plotx;y1;'k.';'markersize';15;axis0 40 0 10;grid;hold ont=0:40;u=splinex;y1;t;plott;u;s=40*10-trapzt;u;fprintf's=%.2f\n';s结果分析:上图为河床的断面图..上图为计算结果面积约为180.70平方米..纪录:使用梯形法计算不规则图形面积十分简便易行..5题目:实验七:圆周率的计算与数值积分目的:使用matlab计算解决一些有关积分的问题..问题:实验七上机练习题第三题:从地面发射一枚火箭;在最初100秒内记录其加速度如下;试求火箭在100秒时的速度..Ts=0 10 20 30 40 50 60 70 80 90 100;Am/s*s=30.00 31.63 33.44 35.47 37.75 40.33 43.29 46.69 50.67 54.01 57.23;问题分析:加速度为速度的微分;已知微分求积分;类似于面积问题;可使用梯形法来计算..编程:clc;clear;x=0 10 20 30 40 50 60 70 80 90 100;y=30.00 31.63 33.44 35.47 37.75 40.33 43.29 46.69 50.6754.01 57.23;plotx;y;'k.';'markersize';15;axis0 100 20 60;grid;hold ons=0:10:100;z=splinex;y;s;plots;y;v=trapzx;y;fprintf'v=%.2f\n';v结果分析:上图为加速度变化图..上图为计算结果;求得火箭在100秒时速度约为4168.95m/s..纪录:梯形法可以推广解决许多已知微分求积分的其他问题..6题目:实验七:圆周率的计算与数值积分目的:计算曲线弧长闭曲线周长可使用微元法;ds=sqrtdx^2+dy^2;在转化微积分问题;累加即可得到结果..问题:实验七上机练习题第三题:计算椭圆想x^2/4+y^2=1的周长;使结果具有五位有效数字..问题分析:编程:s=0;dx=0.001;for x=0:0.001:1.999dy=1.-x+0.001.^2/4-1.-x.^2/4;ds=sqrtdx.^2+dy.^2;s=s+ds;ends=4*s;fprintf'the length is'fprintf'%.4f';s结果分析:上图为计算结果;给定椭圆的周长约为9.1823五位有效数字纪录:计算不规则曲线弧长;可使用微元法;划分为若干小的看做直角三角形;利用勾股定理解决..7题目:实验九人口预测与数据拟合目的:掌握一些曲线拟合的方法;了解曲线拟合常用函数..问题:用电压U=10v的电池给电容器充电;t时刻的电压Vt=U-U-V0exp-t/τ;其中V0是电容器的初始电压;τ是充电常数;由所给数据确定V0和τ..t=0.5 1 2 3 4 5 7 9;V=3.64 3.52 2.74 1.78 1.34 1.01 0.57 0.37;问题分析:题中已给出函数关系式;为指数函数曲线拟合;将所给函数式整理可得标准的exp形函数曲线;从而便于解决..编程:t=0.5 1 2 3 4 5 7 9;V=3.64 3.52 2.74 1.78 1.34 1.01 0.57 0.37;plott;V;'k.';'markersize';20;axis0 10 0 4;grid;hold onpause0.5n=8;a=sumt1:n;b=sumt1:n.*t1:n;c=sumlogV1:n;d=sumt1:n.*logV1:n;A=n a;a b;B=c;d;p=invA*Bx=0:10;y=expp1+p2*x;plotx;y;'r-';'linewidth';2结果分析:上图为电压与时间关系图..上图为计算结果;即U-V0=1.4766;所以V0=8.5234;-1/τ=-0.2835;所以τ=3.5273纪录:曲线拟合的一个重难点是选择合适的曲线函数;才能提高拟合度..8题目:实验七圆周率的计算与数值积分目的:拓展圆周率的各种计算方法;掌握其他数值的近似计算方法..问题:实验七练习2:计算ln2的近似值精确到10的-5次方(1)利用级数展开的方法来计算(2)利用梯形法计算(3)利用抛物线法问题分析:级数展开;梯形法;抛物线法是常见的近似运算方法..编程:1级数展开的方法clc;clear;n=0;r=1;p=0;k=-1;while r>=0.1e-5n=n+1;k=k*-1;p1=p+k/n;r=absp1-p;fprintf'n=%.0f;p=%.10f\n';n;p1;p=p1;end2梯形法clc;clear;f=inline'1./x';x=1:0.1:2;y=fx;p=trapzx;y;fprintf'p=%.6f\n';p3抛物线法clc;clear;f=inline'1./x';a=1;b=2;n=1;z=quadf;a;b;fprintf'z=%.10f\n';z结果分析:(1)级数展开的方法(2)梯形法3抛物线法纪录:级数展开法;梯形法;抛物线法;计算近似值时应合理利用..梯形法和抛物线法不易提高精确度;级数展开法可以提高精确度..9题目:实验八河流流量估计与数据插值目的:掌握求插值多项式的方法;并利用此计算近似值..问题:已知y=fx的函数表如下x=0.40 0.55 0.65 0.80 0.90 1.05;y=0.41075 0.57815 0.69675 0.88811 1.02652 1.25382;求四次拉格朗日插值多项式;并由此求f0.596问题分析:利用所给函数表可计算拉格朗日插值多项式..编程:function p=lagrangex;yL=lengthx;a=onesL;for j=2:La:;j=a:;j-1.*x';endx=inva*y';for i=1:Lpi=xL-i+1;endx=0.40 0.55 0.65 0.80 0.90 1.05;y=0.41075 0.57815 0.69675 0.88811 1.02652 1.25382; plotx;y;'k.';'markersize';15axis0 2 0 2grid;hold on;p=lagrangex;y;t=0:0.1:1.5;u=polyvalp;t;plott;u;'r-'a=polyvalp;0.596结果分析:上图为所求结果;估算值和插值多项式..纪录:插值多项式是一项十分实用的方法..10题目:求正整数n的阶乘:p=1*2*3*…*n=n;并求出n=20时的结果目的:练习使用循环变量解决数学问题问题:对程序:Clear;clc;n=20;p=1;for i=1:np=p*i;fprintf’i=%.0f;p=%.0f\n’;i;pend进行修改使它:利用input命令对n惊醒赋值问题分析:题中给出程序中“n=20”修改;使用input命令;讲题中的输出命令放出循环之外..编程:clear;clc;n=input'n=';p=1;for i=1:np=p*i;endfprintf'i=%.0f;p=%.0f\n';i;p结果:n=20i=20;p=2432902008176640000>>结果分析:使用input命令可以实现人机对话;使用户自由赋值;输出语句在程序中的位置对输出的结果有很大的影响;在循环内部可以在计算过城中不断输出结果;在循环之外则可以控制只输出最后结果..11题目:对于数列{√2};n=1;2;…;求当其前n项和不超过1000时的n的值及合的大小..目的:运用条件循环解决文帝个项数的循环程序求解;问题:对程序:clear;clc;n=0;s=0;while s<=1000n=n+1;s=s+sqrtn;fprintf’n=%.0f;s=%.4f\n’;n;send问题分析:题中所给程序中的限制变量为上次循环之后的s;导致s超过上限后仍有一次的循环;若把循环变量改为这次的s;则可以避免这种情况的发生..编程:clear;clc;n=0;s=0;while s+sqrtn<=1000n=n+1;s=s+sqrtnfprintf'n=%.0f;s=%.4f\n';n;send结果:……s =970.8891n=128;s=970.8891s =982.2469n=129;s=982.2469s =993.6487n=130;s=993.6487>>结果分析:从结果中可以看出;最后一步为我们需要的答案;从这道题我们可以得出循环变量对一道编程的重要性..。
matlab实验报告(实验4)

学生实验报告开课学院及实验室: 机电学院2012年12月21日学院机电学院年级、专业、班姓名学号实验课程名称MATLAB程序设计成绩实验项目名称实验4: 数据和函数的可视化指导老师一、实验目的1、掌握MATLAB绘图的基本步骤和相关指令调用的先后顺序。
2、掌握MATLAB绘图指令的调用方法。
二、实验内容数学函数从形式上可以分为离散函数和连续函数。
MATLAB对这两种函数数据的可视化都提供了相应的指令。
仔细阅读教材【例5.1-1】的实现代码, 运行并保存结果;并改用stem函数, 画出【例5.1-1】的序列图。
仔细阅读教材【例5.1-2】的实现代码, 运行并保存结果;并分别使用描点和连折线方式, 画出连续函数y=xcosx的近似图形(采样点数自定, 要求画出的图尽量接近原连续函数的图)。
仔细阅读【例5.2-2】的实现代码, 理解plot指令画多条曲线的运用方法, 运行并保存结果;并使用plot函数和legend函数, 在同一个图形窗口上画出y=sint和y=sin(2t)在[0,2pi]区间上的图形, 并标出图例。
仔细阅读【例5.2-4】的实现代码, 理解图形标识选项的运用方法, 运行并保存结果;并修改代码, 把“sin(t)”字体改为正体, 大小改为20, “极大值”改为宋体。
阅读【例5.2-6】, 理解使用hold on指令画多幅图的方法, 运行并保存结果。
阅读【例5.2-8】, 理解使用subplot函数画多个子图的方法, 运行并保存结果。
(1)综合实验: 阅读以下关于通过绘制二阶系统阶跃响应综合演示图形标识的示例, 理解示例中所有图形标识指令的作用, 掌握各个图形标识指令的运用方法, 并在原指令上改动以实现以下功能:(2)把横坐标范围改为0至5pi, 纵坐标范围改为0至2;(3)把图中的横轴的刻度改为从0开始到4pi, 中间各点间隔为pi/2;纵轴刻度改为从0开始到1.5, 中间各点间隔为0.3;(4)把图中的α改为σ。
计算方法matlab实验报告

计算方法matlab实验报告计算方法MATLAB实验报告引言:计算方法是一门研究如何用计算机来解决数学问题的学科。
在计算方法的学习过程中,MATLAB作为一种强大的数值计算软件,被广泛应用于科学计算、工程计算、数据分析等领域。
本实验报告将介绍在计算方法课程中使用MATLAB 进行的实验内容和实验结果。
一、二分法求方程根在数值计算中,求解非线性方程是一个常见的问题。
二分法是一种简单而有效的求解非线性方程根的方法。
在MATLAB中,可以通过编写函数和使用循环结构来实现二分法求解方程根。
实验步骤:1. 编写函数f(x),表示待求解的非线性方程。
2. 设定初始区间[a, b],满足f(a) * f(b) < 0。
3. 利用二分法迭代求解方程根,直到满足精度要求或迭代次数达到预设值。
实验结果:通过在MATLAB中编写相应的函数和脚本,我们成功求解了多个非线性方程的根。
例如,对于方程f(x) = x^3 - 2x - 5,我们通过二分法迭代了5次,得到了方程的一个根x ≈ 2.0946。
二、高斯消元法解线性方程组线性方程组的求解是计算方法中的重要内容之一。
高斯消元法是一种常用的求解线性方程组的方法,它通过矩阵变换将线性方程组化为上三角矩阵,从而简化求解过程。
在MATLAB中,可以利用矩阵运算和循环结构来实现高斯消元法。
实验步骤:1. 构建线性方程组的系数矩阵A和常数向量b。
2. 利用高斯消元法将系数矩阵A化为上三角矩阵U,并相应地对常数向量b进行变换。
3. 利用回代法求解上三角矩阵U,得到线性方程组的解向量x。
实验结果:通过在MATLAB中编写相应的函数和脚本,我们成功求解了多个线性方程组。
例如,对于线性方程组:2x + 3y - z = 13x - 2y + 2z = -3-x + y + 3z = 7经过高斯消元法的计算,我们得到了方程组的解x = 1,y = -2,z = 3。
三、数值积分方法数值积分是计算方法中的重要内容之一,它用于计算函数在给定区间上的定积分。
数值分析matlab实验报告

数值分析matlab实验报告数值分析 Matlab 实验报告一、实验目的数值分析是研究各种数学问题数值解法的学科,Matlab 则是一款功能强大的科学计算软件。
本次实验旨在通过使用 Matlab 解决一系列数值分析问题,加深对数值分析方法的理解和应用能力,掌握数值计算中的误差分析、数值逼近、数值积分与数值微分等基本概念和方法,并培养运用计算机解决实际数学问题的能力。
二、实验内容(一)误差分析在数值计算中,误差是不可避免的。
通过对给定函数进行计算,分析截断误差和舍入误差的影响。
例如,计算函数$f(x) =\sin(x)$在$x = 05$ 附近的值,比较不同精度下的结果差异。
(二)数值逼近1、多项式插值使用拉格朗日插值法和牛顿插值法对给定的数据点进行插值,得到拟合多项式,并分析其误差。
2、曲线拟合采用最小二乘法对给定的数据进行线性和非线性曲线拟合,如多项式曲线拟合和指数曲线拟合。
(三)数值积分1、牛顿柯特斯公式实现梯形公式、辛普森公式和柯特斯公式,计算给定函数在特定区间上的积分值,并分析误差。
2、高斯求积公式使用高斯勒让德求积公式计算积分,比较其精度与牛顿柯特斯公式的差异。
(四)数值微分利用差商公式计算函数的数值导数,分析步长对结果的影响,探讨如何选择合适的步长以提高精度。
三、实验步骤(一)误差分析1、定义函数`compute_sin_error` 来计算不同精度下的正弦函数值和误差。
```matlabfunction value, error = compute_sin_error(x, precision)true_value = sin(x);computed_value = vpa(sin(x), precision);error = abs(true_value computed_value);end```2、在主程序中调用该函数,分别设置不同的精度进行计算和分析。
(二)数值逼近1、拉格朗日插值法```matlabfunction L = lagrange_interpolation(x, y, xi)n = length(x);L = 0;for i = 1:nli = 1;for j = 1:nif j ~= ili = li (xi x(j))/(x(i) x(j));endendL = L + y(i) li;endend```2、牛顿插值法```matlabfunction N = newton_interpolation(x, y, xi)n = length(x);%计算差商表D = zeros(n, n);D(:, 1) = y';for j = 2:nfor i = j:nD(i, j) =(D(i, j 1) D(i 1, j 1))/(x(i) x(i j + 1));endend%计算插值结果N = D(1, 1);term = 1;for i = 2:nterm = term (xi x(i 1));N = N + D(i, i) term;endend```3、曲线拟合```matlab%线性最小二乘拟合p = polyfit(x, y, 1);y_fit_linear = polyval(p, x);%多项式曲线拟合p = polyfit(x, y, n);% n 为多项式的次数y_fit_poly = polyval(p, x);%指数曲线拟合p = fit(x, y, 'exp1');y_fit_exp = p(x);```(三)数值积分1、梯形公式```matlabfunction T = trapezoidal_rule(f, a, b, n)h =(b a) / n;x = a:h:b;y = f(x);T = h ((y(1) + y(end))/ 2 + sum(y(2:end 1)));end```2、辛普森公式```matlabfunction S = simpson_rule(f, a, b, n)if mod(n, 2) ~= 0error('n 必须为偶数');endh =(b a) / n;x = a:h:b;y = f(x);S = h / 3 (y(1) + 4 sum(y(2:2:end 1))+ 2 sum(y(3:2:end 2))+ y(end));end```3、柯特斯公式```matlabfunction C = cotes_rule(f, a, b, n)h =(b a) / n;x = a:h:b;y = f(x);w = 7, 32, 12, 32, 7 / 90;C = h sum(w y);end```4、高斯勒让德求积公式```matlabfunction G = gauss_legendre_integration(f, a, b)x, w = gauss_legendre(5);%选择适当的节点数t =(b a) / 2 x +(a + b) / 2;G =(b a) / 2 sum(w f(t));end```(四)数值微分```matlabfunction dydx = numerical_derivative(f, x, h)dydx =(f(x + h) f(x h))/(2 h);end```四、实验结果与分析(一)误差分析通过不同精度的计算,发现随着精度的提高,误差逐渐减小,但计算时间也相应增加。
matlab数值计算 实验报告

matlab数值计算实验报告Matlab数值计算实验报告引言:Matlab是一种强大的数值计算软件,广泛应用于科学和工程领域。
本实验旨在通过实际案例,展示Matlab在数值计算中的应用能力。
本报告将从三个方面进行讨论:数值积分、线性方程组求解和最优化问题。
一、数值积分:数值积分是数学中常见的问题,Matlab提供了多种函数和方法来解决这类问题。
我们以求解定积分为例进行讨论。
假设我们要求解函数f(x) = x^2在区间[0, 1]上的定积分。
我们可以使用Matlab中的quad函数来进行计算,代码如下:```matlabf = @(x) x.^2;integral = quad(f, 0, 1);disp(integral);```运行以上代码,我们可以得到定积分的近似值为0.3333。
通过调整积分方法和精度参数,我们可以得到更精确的结果。
二、线性方程组求解:线性方程组求解是数值计算中的重要问题,Matlab提供了多种函数和方法来解决线性方程组。
我们以一个简单的线性方程组为例进行讨论。
假设我们要求解以下线性方程组:```2x + y = 5x - y = 1```我们可以使用Matlab中的linsolve函数来求解,代码如下:```matlabA = [2 1; 1 -1];B = [5; 1];X = linsolve(A, B);disp(X);```运行以上代码,我们可以得到方程组的解为x = 2,y = 3。
通过调整方程组的系数矩阵和右侧向量,我们可以求解更复杂的线性方程组。
三、最优化问题:最优化问题在科学和工程领域中广泛存在,Matlab提供了多种函数和方法来解决这类问题。
我们以求解无约束最优化问题为例进行讨论。
假设我们要求解函数f(x) = x^2的最小值。
我们可以使用Matlab中的fminunc函数来进行计算,代码如下:```matlabf = @(x) x.^2;x0 = 1; % 初始点options = optimoptions('fminunc', 'Display', 'iter');[x, fval] = fminunc(f, x0, options);disp(x);disp(fval);```运行以上代码,我们可以得到最小值的近似解为x = 0,f(x) = 0。
MATLAB实验报告_8

实验一基本操作和简单语句输入一、实验环境计算机MATLAB软件二、实验目的1.熟悉MA TLAB的命令窗口。
2、掌握MATLAB的一些基本操作, 能够进行一般的数值计算。
3.实现语句的重调和修改。
三、实验内容与步骤1.启动MA TLAB2.观察MA TLAB窗口的各个组成部分(1)了解菜单栏各窗口项的功能, 用鼠标打开MA TLAB的各个菜单, 在状态栏里显示当前鼠标所指的菜单项的含义。
(2)用鼠标指向常用工具栏的每个工具按钮, 了解各工具按钮的含义。
3.命令窗口的打开和关闭(1)查看菜单窗口中有哪些菜单命令。
(2)在命令窗口中输入命令a=3;b=4;y=a*b+a/b, 然后回车, 查看命令显示结果。
>> a=3;b=4;y=a*b+a/b,y =12.7500(3)利用MA TLAB中编辑命令时常用的按键功能, 调用上一个语句, 对它进行修改(如把分号改成逗号, 看运行结果), 并把运行结果复制到word中保存。
>> a=3,b=4,y=a*b+a/b,a =3b =4y =12.7500(4)关闭命令窗口。
(5)打开命令窗口。
4.使用MA TLAB帮助熟悉MATLAB的帮助系统, 通过帮助系统了解有关内容。
5、在命令窗口中输入demo, 将出现MA TLAB的演示窗, 通过演示窗, 对MATLAB的功能进行一次浏览。
四、练习1.计算y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x), x=2, x=3时的值。
>> x=2;y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)y =-4.4697>> x=3;y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)y =10.38652.计算cos(pi/3)-sqrt(9-sqrt(2))>> cos(pi/3)-sqrt(9-sqrt(2))ans =-2.25423.已知: a=3,A=4,b=a^2,B=b^2-1,c=a+A-2*B,C=a+B+2*c, 求: C>> a=3;A=4;b=a^2;B=b^2-1;c=a+A-2*B;C=a+B+2*cC =-2234.复数z1=1+3*i,z2=1+2*i,z3=2*exp((pi/6)*i),求z=(z1*z2)/z3>> z1=1+3*i;z2=1+2*i;z3=2*exp((pi/6)*i);z=(z1*z2)/z3z =-0.9151 + 3.4151i实验二矩阵和数组的操作一、实验环境计算机MATLAB软件二、实验目的1.掌握矩阵和数组的一般操作, 包括创建、保存、修改和调用等。
北科大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是一种强大的数学软件工具,广泛应用于科学计算、数据分析和工程设计等领域。
本实验旨在通过使用Matlab解决实际问题,探索其功能和应用。
一、实验目的本次实验的主要目的是熟悉Matlab的基本操作和常用函数,了解其在科学计算中的应用。
二、实验内容1. 数值计算在Matlab中,我们可以进行各种数值计算,包括基本的加减乘除运算,以及更复杂的矩阵运算和方程求解。
通过编写相应的代码,我们可以实现这些功能。
例如,我们可以使用Matlab计算两个矩阵的乘积,并输出结果。
代码如下:```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A * B;disp(C);```2. 数据可视化Matlab还提供了强大的数据可视化功能,可以将数据以图表的形式展示出来,更直观地观察数据的规律和趋势。
例如,我们可以使用Matlab绘制一个简单的折线图,来展示某个物体在不同时间下的位置变化。
代码如下:```matlabt = 0:0.1:10;x = sin(t);plot(t, x);xlabel('Time');ylabel('Position');title('Position vs. Time');```3. 图像处理Matlab还可以进行图像处理,包括图像的读取、处理和保存等操作。
我们可以通过Matlab对图像进行增强、滤波、分割等处理,以及进行图像的压缩和重建。
例如,我们可以使用Matlab读取一张图片,并对其进行灰度化处理。
代码如下:```matlabimg = imread('image.jpg');gray_img = rgb2gray(img);imshow(gray_img);```三、实验结果与分析在本次实验中,我们成功完成了数值计算、数据可视化和图像处理等任务。
Matlab数学实验报告

实验一 Matlab基本操作1.实验课程名称数学实验2.实验项目名称Matlab基本操作3.实验目的和要求了解Matlab的基本知识,熟悉其上机环境,掌握利用Matlab进行基本运算的方法。
4.实验内容和原理内容:三角形的面积的海伦公式为:area=)s-sa--)()(s(csb其中: s=(a+b+c)/2原理:将一般数学问题转化成对应的计算机模型并进行处理的能力。
了解Matlab的基本功能,会进行简单的操作。
5.主要仪器设备计算机与Windows 2000/XP系统;Matlab等软件。
6.操作方法与实验步骤步骤:(1)在M文件编辑窗口输入以下程序,并以文件名”area_helen.m”保存:a= input(‘a=‘) ; b= input(‘b=‘) ; c= input(‘c=‘) ;s= (a+b+c)/2;area=sqrt (s* (s-a) * (s-b) * (s-c))(2)在命令窗口输入文件名“area_helen”,按回车键,即可运行上面的程序,输入三边长,立即可得三角形面积(3)第二题在命令窗口输入b=6;a=3;c=a*b,d=c-2*b(4) 按回车键,即可运行上面的程序7.实验结果与分析<1> a=3; b=4; c=5;时,aera=6 当a为3,b为4,c为5时,s=6,aera=6<2> c= 18,d=6,a为3,b为6时,c=18,d=6实验二 Matlab的数值计算1.实验课程名称数学实验2.实验项目名称Matlab的数值计算3.实验目的和要求了解一些简单的矩阵、向量、数组和多项式的构造和运算方法实例,懂得编写简单的数值计算的Matlab程序。
熟悉一些Matlab的简单程序,会用Matlab的工具箱,懂得Matlab的安装和简单的使用。
4.实验内容和原理内容:从函数表:)1(),5.0(),2( ,0x 1x 021x 1x f(x) 32-⎪⎩⎪⎨⎧≤≤<>+=f f f x x求设)1(),2( ,1211)(2-⎩⎨⎧≤>+=f f x xx x x f 求设 原理:利用矩阵、向量、数组、和多项式的构造和运算方法,用常用的几种函数进行一般的数值问题求解。
matlab数值分析实验报告

matlab数值分析实验报告Matlab数值分析实验报告引言数值分析是一门研究利用计算机进行数值计算和模拟的学科,它在科学计算、工程技术和金融等领域有着广泛的应用。
本次实验报告将介绍在Matlab环境下进行的数值分析实验,包括数值微分、数值积分和线性方程组求解等内容。
一、数值微分数值微分是通过数值方法计算函数的导数,常用的数值微分方法有前向差分、后向差分和中心差分。
在Matlab中,可以使用diff函数来计算函数的导数。
例如,对于函数f(x)=x^2,在Matlab中可以使用如下代码进行数值微分的计算:```matlabsyms x;f = x^2;df = diff(f, x);```二、数值积分数值积分是通过数值方法计算函数的定积分,常用的数值积分方法有梯形法则、辛普森法则和龙贝格积分法。
在Matlab中,可以使用trapz、quad和integral等函数来进行数值积分的计算。
例如,对于函数f(x)=sin(x),可以使用如下代码进行数值积分的计算:```matlabx = linspace(0, pi, 100);y = sin(x);integral_value = trapz(x, y);```三、线性方程组求解线性方程组求解是数值分析中的重要问题,常用的求解方法有高斯消元法和LU 分解法。
在Matlab中,可以使用\操作符来求解线性方程组。
例如,对于线性方程组Ax=b,可以使用如下代码进行求解:```matlabA = [1, 2; 3, 4];b = [5; 6];x = A\b;```四、实验结果与分析在本次实验中,我们分别使用Matlab进行了数值微分、数值积分和线性方程组求解的计算。
通过实验结果可以发现,Matlab提供了丰富的数值计算函数和工具,能够方便地进行数值分析的计算和求解。
数值微分的计算结果与解析解相比较,可以发现数值微分的误差随着步长的减小而减小,但是当步长过小时,数值微分的误差会受到舍入误差的影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB与科学计算实验报告指导老师:***实验时间:大二年级上学期学院:数学科学与计算技术学院专业班级:统计0902*名:***学号: **********目录1.学生成绩管理 (3)2.函数极限问题 (5)3.蛛网模型 (7)4.水塔模型 (10)5.混沌问题 (12)6.koch曲线 (14)7.拉格朗日与三次样条插值以及曲线拟合 (17)8.解线性方程组 (20)9.矩阵对角化 (23)10.矩阵标准化 (24)11.摸球实验 (26)12.钉板问题 (26)13.火车问题 (28)一、学生成绩管理学号 1304090112 班级统计0902 姓名丁克明指导教师易昆南实验题目学生成绩管理程序评分1、设计(实习)目的:1结合实际问题展现MATLAB在生活和学习方面的广泛应用2学会利用MATLAB编程并求解实际问题3学会并运用for循环和switch 结构,以及MATLAB中已有函数如sum4了解单元数组cell和结构数组struct的作用,学会创建这些数组.2、实验内容:编写一个学生成绩管理的函数程序:将学生成绩按五个等级划分:优秀(90以上),良好(80-90),中等(70-79),及格(60-69),不及格(60以下)对输入的学生成绩按五个等级划分后,打印学生姓名,得分,等级,并计算全班最高分、最低分、平均分。
3、详细设计clearfor i=1:10a{i}=89+i;b{i}=79+i;c{i}=69+i;d{i}=59+i;endc=[d,c];Name=input('please input name:');Score=input('please input score:');n=length(Score);Rank=cell(1,n);S=struct('Name',Name,'Score',Score,'Rank',Rank);for i=1:nswitch S(i).Scorecase 100S(i).Rank='满分';case aS(i).Rank='优秀';case bS(i).Rank='良好';case cS(i).Rank='及格';case dS(i).Rank='不及格';endenddisp(['学生姓名','得分','等级']);for i=1:ndisp([S(i).Name,blanks(6),num2str(S(i).Score),blanks(6),S(i).Rank]);ends=0;for i=1:ns=S(i).Score+s;endaverscore=s/n;t=S(1).Score;for i=1:(n-1)if(S(i).Score<S(i+1).Score)t=S(i+1).Score;endendm=S(1).Score;for i=1:(n-1)if(S(i).Score>S(i+1).Score)m=S(i+1).Score;endenddisp(['平均成绩']);disp([averscore]);disp(['最高分']);disp(t);disp(['最低分']);disp(m);4、实验结果:5、实验总结:这是我第一次接触matlab并运用matlab解决实际问题,在以前学习C++的时候,解决一个问题的代码会很繁琐。
但相同的问题,在matlab中却变得很简单。
这就是matlab的强大之处。
运用它可以方便的解决许多实际问题。
知道了这一点,我决心以后会认真的学习这样一门课程。
同时,它也给我们枯燥的数学公式的学习带来了动手解决实际问题的机会。
是将理论与实际相结合的方法。
让我们更加体会到知识的力量是强大的,我们应该更好的掌握科学技术和相关理论知识,并能够将其运用于实际生活当中。
在解决这个问题的时候也确实遇到了一些问题。
比如如何输入符号数组和数值数组的问题,当时一直不理解。
当通过查询资料,和同学讨论,最后明白了。
输入符号时,符号要用单引号,而数据就不需要了。
通过这样一次实践,我更加明白了动手的必要性。
只有理论知识是远远不够的。
所以以后一定要加强自己的动手能力,勤动手。
二、函数极限问题学号 1304090112 班级统计0902 姓名丁克明指导教师易昆南实验题目函数极限问题评分1、设计(实习)目的:1结合实际问题展现MATLAB在生活和学习方面的广泛应用2学会利用MATLAB编程并求解实际问题3学会并运用movie和moviein函数,以及plot结构。
4 理解getframe以及学会运用axis调节坐标抽2、实验内容:自选函数,运用plot进行绘图。
并使用movie以及moviein,制作函数极限动画。
3、详细设计clearm=moviein(16);hold onfor i=1:50for j=1:it1=(j-1)*5;t2=j*5;t=t1:0.01:t2;axis([0,40,-1,1])%限制动画的坐标显示大小plot(t,0,'.r')plot(t,1./t,'.')endm(:,i)=getframe;endmovie(m,50)clearm=moviein(16)hold onfor i=1:10for j=1:it1=(j-1)*pi/10;t2=j*pi/10;t=t1:0.01:t2;axis([0,5*pi/2,-1,1])%限制动画的坐标显示大小plot(pi-0.1,t,'.k')plot(pi-0.1,-t,'.k')plot(pi+0.1,-t,'.k')plot(pi+0.1,t,'.k')plot(t,0,'.r')plot(t,sin(t),'.')t1=(20-j)*pi/10;t2=(21-j)*pi/10;t=t1:0.01:t2;axis([0,5*pi/2,-1,1])%限制动画的坐标显示大小plot(t,0,'.r')plot(t,sin(t),'.')endm(:,i)=getframe;endmovie(m,50)4、实验结果:5、实验总结:使用matlab进行绘图觉得很有意思,简单的代码,却能绘出各种颜色的图形动画。
在学习的过程中还是有很多的问题。
还有很多方面的东西不够了解,只能边尝试边查询资料,让自己能够更了解,更明白。
以便绘出更好的图形。
三、蛛网模型学号1304090112 班级统计0902 姓名丁克明指导教师易昆南实验题目蛛网模型评分1、设计(实习)目的:1.学会运用Matlab解决实际问题2.进一步掌握Matlab的一些基本操作3.通过范例体会Matlab的初步建模过程4学会用做动画2、实验内容:已知前两年的猪肉的产量和猪肉的价格分别为:39吨,28吨,12元/公斤,17元/公斤,根据前一年的猪肉价格影响后一年猪肉产量当年猪肉产量影响当年猪肉价格的线性关系,编写程序,利用动画原理画出前十年猪肉的产量——价格的动态图形。
(参数设置为,c1=39,c2=28,c3=36,r1=12,r2=17,k=16)。
3、详细设计clear%c1为产量1, c2为产量2, c3为产量3, r1为%肉价1, r2为肉价2, k为K年后产量与肉价%是否稳定hold offc1=39;c2=28;c3=36;r1=12;r2=17;k=16;a1=[c1 1;c2 1];%系数矩阵b1=[r1,r2]';%列向量a2=[r1 1;r2 1];b2=[c2,c3]';a=a1\b1;b=a2\b2;%x0(1)=c1;for n=1:30y0(n)=a(1)*x0(n)+a(2); %a(1)a(2)为矩阵元素的引用,下行类似x0(n+1)=b(1)*y0(n)+b(2);x(n)=x0(n);y(n)=x0(n+1);endplot(x,y0,'-g',y,y0,'-b')hold onm=moviein(100);for n=1:kfor j=1:30t1=x0(n)+(j-1)*(x0(n+1)-x0(n))/30;t2=x0(n)+j*(x0(n+1)-x0(n))/30;if t2<t1t=t1;t1=t2;t2=t;%这样做方便画图elseendt=t1:0.01:t2;plot(t,y0(n),'.r')%划横线t1=y0(n)+(j-1)*(y0(n+1)-y0(n))/30;t2=y0(n)+j*(y0(n+1)-y0(n))/30;if t2<t1t=t1;t1=t2;t2=t; else end t=t1:0.01:t2;plot(x(n+1),t,'.r')%划竖线 endm(:,n)=getframe; end movie(m,20)4、实验结果:ans =Columns 1 through 639.0000 28.0000 36.0000 30.1818 34.4132 31.3358 Columns 7 through 1233.5739 31.9462 33.1300 32.2691 32.8952 32.4398 Columns 13 through 1832.7710 32.5302 32.7053 32.5779 32.6706 32.6032 Columns 19 through 2432.6522 32.6166 32.6425 32.6236 32.6374 32.6274 Columns 25 through 3032.6346 32.6294 32.6332 32.6304 32.6324 32.6310 Column 31 32.63205、实验图像:3535.53636.53737.53838.53939.54066.26.46.66.877.27.47.67.886、实验总结:通过做此实验,让我对MATLAB有更进一步的了解,学会怎样才能正确运用MATLAB求解实际问题,了解如何利用数学模型去解释和分析社会经济问题,特别是这个典型经济问题的求解。
我对MATLAB还不是特别熟悉,过程中遇到了很多问题,经过与同学讨论得到了良好的解决,希望以后会有进步。
四、水塔模型学号1304090112 班级统计0902 姓名丁克明指导教师易昆南实验题目水塔问题评分1、设计(实习)目的:1 掌握用MATLAB来求最值2学会在一个闭区间求最值3学会解决实际问题。