matlab实验报告
- 格式:doc
- 大小:144.50 KB
- 文档页数:5
基于matlab的实验报告实验报告:基于MATLAB 的实验一、实验目的通过使用MATLAB 软件,掌握如何进行数据分析、图像处理、算法实现等一系列实验操作,提高实验者的实践能力和动手能力。
二、实验原理MATLAB 是一种在科学计算和技术开发领域广泛应用的计算机软件。
它能进行矩阵计算、绘制函数和数据图像、实现算法以及进行数据分析等。
通过掌握MATLAB 的使用,能够快速、高效地解决各种科学和工程问题。
三、实验内容1. 数据分析:使用MATLAB 的数据分析工具进行数据的导入、处理和分析。
2. 图像处理:利用MATLAB 的图像处理工具包对图像进行滤波、增强、分割等操作。
3. 算法实现:使用MATLAB 实现常用的算法,如排序、搜索、图像压缩等。
四、实验步骤1. 数据分析:(1)使用MATLAB 的读取数据函数将数据导入MATLAB 环境中。
(2)利用MATLAB 的数据处理函数进行数据清洗和预处理。
(3)使用MATLAB 的统计工具进行数据分析,如求平均值、标准差等。
(4)利用MATLAB 的绘图函数将分析结果可视化。
2. 图像处理:(1)使用MATLAB 的读取图像函数将图像导入MATLAB 环境中。
(2)利用MATLAB 的图像处理工具包进行滤波操作,如均值滤波、中值滤波等。
(3)使用MATLAB 的图像增强函数对图像进行锐化、变换等操作。
(4)利用MATLAB 的图像分割算法对图像进行分割。
3. 算法实现:(1)使用MATLAB 编写排序算法,如冒泡排序、快速排序等。
(2)使用MATLAB 编写搜索算法,如二分查找、线性搜索等。
(3)使用MATLAB 实现图像压缩算法,如离散余弦变换(DCT)。
五、实验结果实验中,我们使用MATLAB 完成了数据分析、图像处理和算法实现的一系列实验操作。
通过数据分析,我们成功导入了数据并对其进行了清洗和预处理,最后得到了数据的统计结果。
在图像处理方面,我们对图像进行了滤波、增强和分割等操作,最终得到了处理后的图像。
v1.0 可编辑可修改实验一 MATLAB 环境的熟悉与基本运算一、实验目的及要求1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令;3.掌握矩阵、变量、表达式的输入方法及各种基本运算。
二、实验内容1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口:命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。
②路径的设置:建立自己的文件夹,加入到MATLAB 路径中,并保存。
设置当前路径,以方便文件管理。
2.学习使用clc 、clear ,了解其功能和作用。
3.矩阵运算:已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。
4.使用冒号选出指定元素:已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π2) 5.4)4.05589(÷⨯+ 6.关系及逻辑运算1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num8.符号运算1)对表达式f=x 3-1 进行因式分解2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求3(1)xdz z +⎰三、实验报告要求完成实验内容的3、4、5、6、7、8,写出相应的程序、结果实验二 MATLAB 语言的程序设计一、实验目的1、熟悉 MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉变量传递和赋值二、实验内容1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值)。
初识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实验报告总结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法,其次是梯形法,而欧拉法最为不稳定。
matlab操作实验报告一、实验目的1、学会使用matlab建立.m文件。
2、学会二机五节点的潮流计算计算原理。
3、学会使用matlab命令窗编写程序。
4、学会潮流计算的matlab的程序。
5、学会matlab中simulink模块库的模型用法。
二、实验原理潮流分布(1)描述电力系统运行状态的技术术语,它表明电力系统在某一确定运行方式和接线方式下,系统从电源经网络到负荷各处的电压、电流、功率的大小和方向的分布情况。
(2)电力系统潮流分布主要取决于负荷的分布、电力网参数、以及和供电电源之间的关系。
潮流计算的方法1)建立描述电力系统运行状态的数学模型;2)确定解算数学模型的方法;3)制定程序框图,编写计算机计算程序,并进行计算;4)对计算结果进行分析。
对图1所示电力系统拓扑图进行潮流计算该拓扑图为2机5节点的系统应用Matpower计算潮流技巧的核心在于输入好三个矩阵和部分参数,清晰的知道输入参数、矩阵中每一个元素的含义。
参数一、MATPOWER CaseFormat:Version2mpc.version='2';解释:目前普遍采用2形式的算法。
参数二、system MVA base mpc.baseMVA=100;解释:采用有铭值图1mpc.baseMVA=100;(Matpower只能计算有铭值得网络)矩阵一%%bus data %bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vmin解释:bus data母线参数也就是我们所说的节点参数,下面逐条注释:1bus number(positive integer):第一列表示节点的编号(括号里面注释正整数); 2bus type:第二列表示节点的类型,一般只用得到1、2、3三种节点类型,4类型的节点目前没有接触到。
PQ bus=1PV bu=2reference bus=3isolated bu=43Pd,(MW):表示负荷所需要的有功功率(所有数据都是正数)(有铭值)。
实验一 典型环节的MATLAB 仿真 一、实验目的1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、实验内容① 比例环节1)(1=s G 和2)(1=s G ;Simulink 图形实现:示波器显示结果:② 惯性环节11)(1+=s s G 和15.01)(2+=s s GSimulink 图形实现:示波器显示结果:③ 积分环节s s G 1)(1Simulink 图形实现:示波器显示结果:④ 微分环节s s G )(1Simulink 图形实现:波器显示结果:⑤ 比例+微分环节(PD )2)(1+=s s G 和1)(2+=s s G1)、G1(s )=s+2Simulink 图形实现:示波器显示结果:2)、G2(s)=s+1 Simulink图形实现:示波器显示结果:⑥ 比例+积分环节(PI )s s G 11)(1+=和s s G 211)(2+=1)、G1(1)=1+1/sSimulink 图形实现:示波器显示结果:2)G2(s)=1+1/2s Simulink图形实现:示波器显示结果:三、心得体会通过这次实验我学到了很多,对课本内容加深了理解,熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法,加深对各典型环节响应曲线的理解,这为对课程的学习打下了一定基础。
实验二线性系统时域响应分析一、实验目的1.熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。
2.通过响应曲线观测特征参量ζ和nω对二阶系统性能的影响。
3.熟练掌握系统的稳定性的判断方法。
二、实验内容1.观察函数step( )的调用格式,假设系统的传递函数模型为243237()4641s s G s s s s s ++=++++绘制出系统的阶跃响应曲线?2.对典型二阶系统222()2n n n G s s s ωζωω=++1)分别绘出2(/)n rad s ω=,ζ分别取0,0.25,0.5,1.0和2.0时的单位阶跃响应曲线,分析参数ζ对系统的影响,并计算ζ=0.25时的时域性能指标,,,,p r p s ss t t t e σ。
一、实验目的:1.学会运用Matlab解决实际问题2.进一步掌握Matlab的一些基本操作3.通过范例体会Matlab的初步建模过程4学会用做动画二.实验仪器、设备或软件:电脑、MATLAB软件三.实验内容:1.已知前两年的猪肉的产量和猪肉的价格分别为:39吨,28吨,12元/公斤,17元/公斤,根据前一年的猪肉价格影响后一年猪肉产量当年猪肉产量影响当年猪肉价格的线性关系,编写程序,利用动画原理画出前十年猪肉的产量——价格的动态图形。
(参数设置为,c1=39,c2=28,c3=36,r1=12,r2=17,k=16)。
2.在地面上建有一座圆柱形水塔,水塔内部的直径为d,并且在地面处开了一个高为H的小门.现在要对水塔内部进行维修施工,施工方案要求把一根长为l(l>d)的水管运到水塔内部.请问水塔的门高H多高时,才有可能成功地把水管搬进水塔内。
四.实验记录:1.蛛网模型:实验代码:clear%c1为产量1, c2为产量2, c3为产量3, r1为%肉价1, r2为肉价2, k为K年后产量与肉价%是否稳定c1=39;c2=28;c3=36;hold offr1=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;elseendt=t1:0.01:t2;plot(x(n+1),t,'.r')%划竖线endm(:,n)=getframe;endmovie(m,20)实验结果: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 3132.6320实验图像:2.水塔模型:实验代码:Clearfunction x=lt523(l,d,h) k1=0;a=0l=7;d=3ymax=0;k2=0;b=pi/2;h=3;while (b-a)>10^(-2)k2=k2+1;m=0;a=0;if k1==0n=ceil(b/h)-1 elsen=ceil(b/h);endfor i=1:n+1;x(i)=a+(i-1)*(b-a)/n;y(i)=l*sin(x(i))-d*tan(x(i));endfor i=1:nif y(i)>ymaxymax=y(i);a=x(i-1);else y(i)<ymaxb=x(i);endendm=m+1;k1=k1+1;h=(b-a)/5;endabx=(a+b)/2t=0:0.01:1.35y1=l*sin(t)-d*tan(t);plot(t,y1,'-b')方法:2syms h xh=8*sin(x)-2*tan(x);d1=0;d2=pi/2;d0=(d1+d2)/2;d=0.03;a=subs(h,x,d1);b=subs(h,x,d2);c=subs(h,x,d0);for n=d1:d:d2if (((c-a)/(d0-d1))*((b-c)/(d2-d0)))<0 d1=d1+d; d2=d2-d; d0=(d1+d2)/2;a=subs(h,x,d1);b=subs(h,x,d2);c=subs(h,x,d0);endendd0hold onaxis([0,pi/2,-5,5])x=0:0.05:pi/2;plot(x,8*sin(x)-2*tan(x),'-b')实验运行结果:五、实验总结:通过做此实验,让我对MATLAB有更进一步的了解,学会怎样才能正确运用MATLAB求解实际问题,了解如何利用数学模型去解释和分析社会经济问题,特别是这个典型经济问题的求解。
试验一熟悉matlab环境(实验报告) 实验报告:熟悉MATLAB环境一、实验目的1.掌握MATLAB的基本操作方法,熟悉MATLAB的界面和工具栏。
2.了解MATLAB的变量类型、数据结构、矩阵运算等基本概念。
3.学会使用MATLAB进行数值计算、绘图和数据分析。
二、实验内容1.MATLAB界面与工具栏:熟悉MATLAB的启动界面,了解MATLAB的菜单栏、工具栏和命令窗口。
掌握如何创建、保存和打开MATLAB脚本文件。
2.变量与数据类型:学习MATLAB的变量命名规则,了解变量类型(如标量、向量、矩阵等)及其在内存中的存储方式。
掌握如何声明变量并赋值,理解MATLAB中的数据结构(如结构体、细胞数组等)。
3.矩阵运算:学习MATLAB的矩阵运算规则,了解矩阵的基本操作(如转置、逆等)。
掌握矩阵运算的常用函数(如求行列式、矩阵的秩等)。
4.数值计算与绘图:学习使用MATLAB进行数值计算和绘图。
掌握MATLAB的数值计算函数(如sin、cos、exp等)及其应用,了解如何绘制二维和三维图形。
5.数据分析:学习使用MATLAB进行数据分析。
了解如何读取和导出数据文件,掌握基本的统计方法和数据分析技术(如求平均值、中位数、标准差等)。
三、实验步骤与操作方法1.打开MATLAB软件,进入命令窗口。
2.创建并保存脚本文件:使用“edit”命令创建一个新的脚本文件,保存文件并命名(如“熟悉MATLAB环境.m”)。
3.变量与数据类型操作:在脚本文件中输入不同类型的变量并赋值,观察变量的输出结果。
例如,声明一个标量变量a和一个向量变量b,然后分别对它们进行赋值和输出。
4.矩阵运算:在脚本文件中输入一个矩阵并进行基本操作。
例如,声明一个3x3的矩阵A,对其进行转置、逆等操作,并输出结果。
5.数值计算与绘图:在脚本文件中使用数值计算函数并进行绘图操作。
例如,创建一个包含0到2π范围内100个点的向量x,计算sin(x)和cos(x)的值,绘制它们的图形并保存结果。
matlab实验报告总结电气工程学院自动化102班 2012年12月21日实验一 MATLAB环境的熟悉与基本运算一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识1.熟悉MATLAB环境MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令变量与运算符变量命名规则如下:变量名可以由英语字母、数字和下划线组成变量名应以英文字母开头长度不大于31个区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。
MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式的基本运算表7 两种运算指令形式和实质内涵的异同表的常用函数表8 标准数组生成函数表9 数组操作函数三、实验内容1、新建一个文件夹2、启动,将该文件夹添加到MATLAB路径管理器中。
3、保存,关闭对话框4、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye5、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
6、初步程序的编写练习,新建M-file,保存,学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。
注意:每一次M-file的修改后,都要存盘。
练习A:help rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果。
学习使用clc、clear,了解其功能和作用。
答:clc是清除命令窗体内容 clear是清除工作区间输入C=1:2:20,则C表示什么?其中i=1,2,3,?,10。
实验二MATLAB语言基础一、实验目的基本掌握MA TLAB向量矩阵数组的生成及基本运算(区分数组运算和矩阵预算)、常用的数学函数。
了解字符串的操作。
二、实验内容(1)向量的生成和运算。
(2)矩阵的创建、引用和运算。
(3)多维数组的创建和运算。
(4)字符创的操作。
三、实验步骤1.向量的生成和运算1)向量的生成<1>、直接输入法<2> 冒号表达式法<3> 函数法:Linspace()是线性等分函数,logspace()是对数等分函数。
2)向量的运算1>维数相同的行、列向量之间可以相加减,标量可以与向量直接相乘除。
2>向量的点积与叉积运算E1和E2虽然表达式相同,但E1是标量,E2是矩阵。
2.矩阵的创建、引用和运算1)矩阵的创建和引用矩阵是由m*n元素构成的矩形结构,行向量和列向量是矩阵的特殊形式。
1>直接输入法:2>抽取法:包括单下标抽取和全下表抽取两种方式,且两种方式抽取的元素都必须以小括号括起来。
3>函数法:利用ones(m;n)创建全1矩阵,zeros()创建全0矩阵,eyes()创建单位矩阵等等。
4>拼接法:纵向拼接横向拼接5>利用拼接函数cat()repmat()和变形函数reshape()>> A1=[1 2 3;9 8 7 ;4 5 6];A2=A1.';>> cat(1,A1,A2) 沿行向拼接ans =1 2 39 8 74 5 61 9 42 8 53 7 6>> cat(2,A1,A2) 沿列向拼接ans =1 2 3 1 9 49 8 7 2 8 54 5 6 3 7 6>> repmat(A1,2,2)ans =1 2 3 1 2 39 8 7 9 8 74 5 6 4 5 61 2 3 1 2 39 8 7 9 8 74 5 6 4 5 6> A=linspace(2,18,9)A =2 4 6 8 10 12 14 16 18 >> reshape(A,3,3)ans =2 8 144 10 166 12 182)矩阵的运算练习(1)用矩阵除法求下列方程组的解x=[x1;x2;x3]>> A=[6 3 4;-2 5 7;8 -1 -3];B=[3;-4;-7];X=A\BX =1.0200-14.00009.7200(2)求矩阵的秩A=[6 3 4;-2 5 7;8 -1 -3];>> rank(A)ans =3[X,lamda]=eig(A)X =0.8013 -0.1094 -0.16060.3638 -0.6564 0.86690.4749 0.7464 -0.4719lamda =9.7326 0 00 -3.2928 00 0 1.5602(3)矩阵的开方>> B=sqrtm(A)B =2.2447 + 0.2706i 0.6974 - 0.1400i 0.9422 - 0.3494i -0.5815 + 1.6244i 2.1005 - 0.8405i 1.7620 - 2.0970i1.9719 - 1.8471i -0.3017 + 0.9557i 0.0236 +2.3845i (4)矩阵的指数与对数:> C=expm(A)C =1.0e+004 *1.0653 0.5415 0.63230.4830 0.2465 0.28760.6316 0.3206 0.3745>> logm(C)ans =6.0000 3.0000 4.0000-2.0000 5.0000 7.00008.0000 -1.0000 -3.0000(6)矩阵的转置D=A'D =6 -2 83 5 -14 7 -3(7)矩阵的提取与翻转:通过各种特定函数如triu(A)、tril(A),diag(A)、flipud (A)、fliplr(A)等等。
数学试验报告一、实验问题:有一形状较为复杂,但表面很光滑的曲面工件.通过科学手段,将其放置Y-5-4-3-2-1012345x-513.6-8.2-14.8-6.6 1.40-3.8 1.413.616.80-4-8.2-15.8-7.9 2.2 3.800.67.310.10-16.8 -3-14.8-7.9 2.5 5.8 2.30 2.7 5.10-10.1-13.7 -2-6.6 2.2 5.93-0.30 1.90-5.1-7.3-1.4 -1 1.4 3.8 2.3-0.3-0.900-1.7-2.7-0.6 3.8 0000000000001-3.80.6 2.7 1.7000.90.3-2.3-3.8-1.4 2 1.47.3 5.10-1.700.3-3.1-5.8-2.2 6.6 313.610.10-5.1-2.70-2.3-5.8-2.57.914.8 416.80-10.1-7.3-0.60-3.8-2.27.915.88.2 5016.3-13.6-1.4 3.80-1.4 6.614.88.2-13.6(1)、画出该曲面工件的图形.(2)、在已知相邻的横、纵坐标之间插入三个分点,用interp2命令计算出所有点处的竖坐标,画出相应的插值曲面.(3)、分别用不同的方法求出该曲面工件表面积的近似值.二、问题分析:(1)、由x=-5:1:5;y=-5:1:5产生“格点”矩阵,再用已知的各“格点”的纵坐标z,用surf(x,y,z)命令即可画出未进行插值的工件表面图形。
(2)、要在已知相邻的横、纵坐标之间插入三个分点,则要用xc=-5:0.25:5;yc=-5:0.25:5产生另一个“格点”矩阵,然后使用interp2命令计算所有“格点”处的纵坐标z,然后再用surf(x,y,z)命令即可画出该插值曲面。
(3)、该工件是一个曲面,要求其表面积的近似值,可以想到的用“分”,“匀”,“和”,“精”的思想,将工件曲面分成n个在xoy平面上的投影是边长为d的矩形的曲面四边形(从第(2)题画出的曲面可以一目了然的看出),分别求出各个曲面四边形的面积再求和,n取的越大,d越小,越接近准确值。
对于如何求每一个曲面四边形的面积:方法1:如图所示,曲面面积微元S近似等于以OP1和OP2为邻边的平行四边形的面积S=,只要n取的值较大,d足够小,误差会较小。
曲面微元:方法2:由第一型面积分公式:,曲面面积微元S等于. 由上述分割工件曲面的思想,dxdy即等于. 问题是如何求得曲面方程的对x、y的偏导数?通过查找资料,发现Matlab软件中有求梯度的命令gradient,因此,曲面的面积微元S可以求得,而且与方法一类似,当d取足够小时,误差可以忽略不计。
三、问题求解:(1)、使用Matlab软件编写如下程序:x=-5:1:5;y=-5:1:5;[xb,yb]=meshgrid(x,y);zb=[13.6,-8.2,-14.8,-6.6,1.4,0,-3.8,1.4,13.6,16.8,0;-8.2,-15.8,-7.9,2.2,3.8,0,0.6,7.3,10.1,0,-16.8;-14.8,-7.9,2.5,5.8,2.3,0,2.7,5.1,0,-10.1,-13.7;-6.6,2.2,5.9,3.0,-0.3,0,1.9,0,-5.1,-7.3,-1.4;1.4,3.8,2.3,-0.3,-0.9,0,0,-1.7,-2.7,-0.6,3.8;0,0,0,0,0,0,0,0,0,0,0;-3.8,0.6,2.7,1.7,0,0,0.9,0.3,-2.3,-3.8,-1.4;1.4,7.3,5.1,0,-1.7,0,0.3,-3.1,-5.8,-2.2,6.6;13.6,10.1,0,-5.1,-2.7,0,-2.3,-5.8,-2.5,7.9,14.8;16.8,0,-10.1,-7.3,-0.6,0,-3.8,-2.2,7.9,15.8,8.2;0,16.3,-13.6,-1.4,3.8,0,-1.4,6.6,14.8,8.2,-13.6];surf(xb,yb,zb)图1、由已知坐标点画出的工件表面图形(2)、使用Matlab软件编写如下程序:x=-5:1:5;y=-5:1:5;[xb,yb]=meshgrid(x,y);zb=[13.6,-8.2,-14.8,-6.6,1.4,0,-3.8,1.4,13.6,16.8,0;-8.2,-15.8,-7.9,2.2,3.8,0,0.6,7.3,10.1,0,-16.8;-14.8,-7.9,2.5,5.8,2.3,0,2.7,5.1,0,-10.1,-13.7;-6.6,2.2,5.9,3.0,-0.3,0,1.9,0,-5.1,-7.3,-1.4;1.4,3.8,2.3,-0.3,-0.9,0,0,-1.7,-2.7,-0.6,3.8;0,0,0,0,0,0,0,0,0,0,0;-3.8,0.6,2.7,1.7,0,0,0.9,0.3,-2.3,-3.8,-1.4;1.4,7.3,5.1,0,-1.7,0,0.3,-3.1,-5.8,-2.2,6.6;13.6,10.1,0,-5.1,-2.7,0,-2.3,-5.8,-2.5,7.9,14.8;16.8,0,-10.1,-7.3,-0.6,0,-3.8,-2.2,7.9,15.8,8.2;0,16.3,-13.6,-1.4,3.8,0,-1.4,6.6,14.8,8.2,-13.6];xc=-5:0.25:5;yc=-5:0.25:5;[xcb,ycb]=meshgrid(xc,yc);zcb=interp2(xb,yb,zb,xcb,ycb,'spline')surf(xcb,ycb,zcb)图2、插值计算出的所有点的纵坐标值(截取了一部分)图3、插值曲面(3)、求工件表面面积:①利用方法一求面积微元:x=-5:1:5;y=-5:1:5;[xb,yb]=meshgrid(x,y);zb=[13.6,-8.2,-14.8,-6.6,1.4,0,-3.8,1.4,13.6,16.8,0;-8.2,-15.8,-7.9,2.2,3.8,0,0.6,7.3,10.1,0,-16.8;-14.8,-7.9,2.5,5.8,2.3,0,2.7,5.1,0,-10.1,-13.7;-6.6,2.2,5.9,3.0,-0.3,0,1.9,0,-5.1,-7.3,-1.4;1.4,3.8,2.3,-0.3,-0.9,0,0,-1.7,-2.7,-0.6,3.8;0,0,0,0,0,0,0,0,0,0,0;-3.8,0.6,2.7,1.7,0,0,0.9,0.3,-2.3,-3.8,-1.4;1.4,7.3,5.1,0,-1.7,0,0.3,-3.1,-5.8,-2.2,6.6;13.6,10.1,0,-5.1,-2.7,0,-2.3,-5.8,-2.5,7.9,14.8;16.8,0,-10.1,-7.3,-0.6,0,-3.8,-2.2,7.9,15.8,8.2;0,16.3,-13.6,-1.4,3.8,0,-1.4,6.6,14.8,8.2,-13.6];d=0.25; %改变d的值即可改变曲面四边形的个数nxc=-5:d:5;yc=-5:d:5;[xcb,ycb]=meshgrid(xc,yc);zcb=interp2(xb,yb,zb,xcb,ycb,'spline');p=1;q=1;ss=0;while p<10/d+1while q<10/d+1s=sqrt(d*d*(zcb(p,q+1)-zcb(p,q))^2+d*d*(zcb(p+1,q)-zcb(p,q))^2 +d^4); %s为每一个曲面四边形的面积ss=s+ss; %对s循环相加q=q+1;endq=1;p=p+1;endss(步长d取0.25时得工件表面积约为ss =670.0184)②使用方法二求面积微元:x=-5:1:5;y=-5:1:5;[xb,yb]=meshgrid(x,y);zb=[13.6,-8.2,-14.8,-6.6,1.4,0,-3.8,1.4,13.6,16.8,0;-8.2,-15.8,-7.9,2.2,3.8,0,0.6,7.3,10.1,0,-16.8;-14.8,-7.9,2.5,5.8,2.3,0,2.7,5.1,0,-10.1,-13.7;-6.6,2.2,5.9,3.0,-0.3,0,1.9,0,-5.1,-7.3,-1.4;1.4,3.8,2.3,-0.3,-0.9,0,0,-1.7,-2.7,-0.6,3.8;0,0,0,0,0,0,0,0,0,0,0;-3.8,0.6,2.7,1.7,0,0,0.9,0.3,-2.3,-3.8,-1.4;1.4,7.3,5.1,0,-1.7,0,0.3,-3.1,-5.8,-2.2,6.6;13.6,10.1,0,-5.1,-2.7,0,-2.3,-5.8,-2.5,7.9,14.8;16.8,0,-10.1,-7.3,-0.6,0,-3.8,-2.2,7.9,15.8,8.2;0,16.3,-13.6,-1.4,3.8,0,-1.4,6.6,14.8,8.2,-13.6];d=0.25; %改变d的值即可改变曲面四边形的个数nxc=-5:d:5;yc=-5:d:5;[xcb,ycb]=meshgrid(xc,yc);zcb=interp2(xb,yb,zb,xcb,ycb,'spline');[Fx,Fy]=gradient(zcb,d,d);p=1;q=1;ss=0;while q<10/d+1while p<10/d+1s=sqrt(1+Fx(p,q)^2+Fy(p,q)^2)*d*d; %s为每一个曲面四边形的面积ss=s+ss; %对s循环相加p=p+1;endp=1;q=q+1;endss(步长d取0.25时得工件表面积约为ss = 661.1878)676左右,因此,可以认为工件表面面积约为676。
还可以看出,当d取的值不是很大的情况下,方法一的结果更接近准确值,方法一误差相对较小。