matlab实验(西北农林科技大学)
- 格式:docx
- 大小:856.75 KB
- 文档页数:15
MATLAB实验报告一、实验目的本次 MATLAB 实验旨在深入了解和掌握 MATLAB 软件的基本操作和应用,通过实际编程和数据处理,提高解决问题的能力,培养编程思维和逻辑分析能力。
二、实验环境本次实验使用的是 MATLAB R2020a 版本,运行在 Windows 10 操作系统上。
计算机配置为英特尔酷睿 i5 处理器,8GB 内存。
三、实验内容(一)矩阵运算1、矩阵的创建使用直接输入、函数生成和从外部文件导入等方式创建矩阵。
例如,通过`1 2 3; 4 5 6; 7 8 9` 直接输入创建一个 3 行 3 列的矩阵;使用`ones(3,3)`函数创建一个 3 行 3 列元素全为 1 的矩阵。
2、矩阵的基本运算包括矩阵的加减乘除、求逆、转置等。
例如,对于两个相同维度的矩阵`A` 和`B` ,可以进行加法运算`C = A + B` 。
3、矩阵的特征值和特征向量计算通过`eig` 函数计算矩阵的特征值和特征向量,加深对线性代数知识的理解和应用。
(二)函数编写1、自定义函数使用`function` 关键字定义自己的函数,例如编写一个计算两个数之和的函数`function s = add(a,b) s = a + b; end` 。
2、函数的调用在主程序中调用自定义函数,并传递参数进行计算。
3、函数的参数传递了解值传递和引用传递的区别,以及如何根据实际需求选择合适的参数传递方式。
(三)绘图功能1、二维图形绘制使用`plot` 函数绘制简单的折线图、曲线等,如`x = 0:01:2pi; y = sin(x); plot(x,y)`绘制正弦曲线。
2、图形的修饰通过设置坐标轴范围、标题、标签、线条颜色和样式等属性,使图形更加清晰和美观。
3、三维图形绘制尝试使用`mesh` 、`surf` 等函数绘制三维图形,如绘制一个球面`x,y,z = sphere(50); surf(x,y,z)`。
(四)数据处理与分析1、数据的读取和写入使用`load` 和`save` 函数从外部文件读取数据和将数据保存到文件中。
(最新版)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”窗口。
数值法实验报告专业班级:信息与计算科学121 姓名:金辉 学号:20120142801)实验目的本次实验的目的是熟练《数值分析》第二章“插值法”的相关内容,掌握三种插值方法:牛顿多项式插值,三次样条插值,拉格朗日插值,并比较三种插值方法的优劣。
本次试验要求编写牛顿多项式插值,三次样条插值,拉格朗日插值的程序编码,并在MATLAB 软件中去实现。
2)实验题目 实验一:试用44据进行插值。
用图给出{(x i ,y i ),x i =0.2+0.08i ,i=0,1, 11, 10},P 4(x )及S (x )。
实验二:在区间[-1,1]上分别取10,20n =用两组等距节点对龙格函数21()125f x x =+作多项式插值及三次样条插值,对每个n 值,分别画出插值函数即()f x 的图形。
实验三:可以得到平方根函数的近似,在区间[0,64]上作图。
(1)用这9各点作8次多项式插值L 8(x).(2)用三次样条(自然边界条件)程序求S (x )。
从结果看在[0,64]上,那个插值更精确;在区间[0,1]上,两种哪个更精确?3)实验原理与理论基础《数值分析》第二章“插值法”的相关内容,包括:牛顿多项式插值,三次样条插值,拉格朗日4)实验内容 实验一:试用44据进行插值。
用图给出{(xi ,yi),xi=0.2+0.08i,i=0,1, 11, 10},P4(x)及S(x)。
(1)首先我们先求牛顿插值多项式,此处要用4次牛顿插值多项式处理数据。
已知n次牛顿插值多项式如下:P n =f(x)+f[x,x1](x-x)+ f[x,x1,x2](x-x) (x-x1)+···+f[x0,x1, (x)n](x-x) ···(x-xn-1)我们要知道牛顿插值多项式的系数,即均差表中得部分均差。
在MATLAB的Editor中输入程序代码,计算牛顿插值中多项式系数的程序如下:function varargout=newtonliu(varargin)clear,clcx=[0.2 0.4 0.6 0.8 1.0];fx=[0.98 0.92 0.81 0.64 0.38];newtonchzh(x,fx);function newtonchzh(x,fx)%由此函数可得差分表n=length(x);fprintf('*****************差分表*****************************\n');FF=ones(n,n);FF(:,1)=fx';for i=2:nfor j=i:nFF(j,i)=(FF(j,i-1)-FF(j-1,i-1))/(x(j)-x(j-i+1));endendfor i=1:nfprintf('%4.2f',x(i));for j=1:ifprintf('%10.5f',FF(i,j));endfprintf('\n'); end由所以有四次插值牛顿多项式为:P 4(x )=0.98-0.3(x-0.2)-0.62500 (x-0.2)(x-0.4) -0.20833(x-0.2)(x-0.4)(x-0.6)-0.52083 (x-0.2)(x-0.4)(x-0.6)(x-0.8)(2)接下来我们求三次样条插值函数。
图形绘制二、实验目的:熟悉和掌握MA TLAB基本的二维图形绘制函数。
三、实验内容:1.绘制简单的二维图形t=0:0.1:2*piy=sin(t)plot(t,y)2.一个坐标系绘制多幅图形t=0:0.1:2*pi; y1=sin(t); y2=cos(t); y3=y1.*y2;plot(t,y1,'--r',t,y2,':g',t,y3,'x')plot(t,y1,'-c',t,y2,'-.y',t,y3,'d')3.图形标识和坐标控制t=0:0.1:2*piy=sin(t)plot(t,y)grid on,xlabel('时间'),ylabel('幅值'),title('正弦曲线') axis([-1,8,-1.2,1.2])4.交互式图形指令axis([0,5,0,5]);hold on;box on;x=[];y=[];while(1)[x1,y1,button]=ginput(1);if(button~=1) break; endplot(x1,y1,'o');x=[x,x1];y=[y,y1]; endline(x,y);hold off;gtext('用左键取点,然后划线');四、思考题:第1题第2题x=-pi:pi/50:4*pifigure(1)subplot(3,1,1)y=x.*cos(x)plot(x,y),grid ongtext('\leftarrow y=xcosx')title('y=xcosx')xlabel('x'),ylabel('y')axis([-pi,pi,-10,10])subplot(3,1,2)y=x.*tan(1./x).*sin(x.^3)plot(x,y),grid ongtext('\leftarrow y=xtan(1/x)sin(x^3)') title('y=xtan(1/x)sin(x^3')xlabel('x'),ylabel('y')axis([-pi,4*pi,-5,5])subplot(3,1,3)y=exp(1./x).*sin(x)plot(x,y),grid ongtext('\leftarrow y=e^(1/x)sin(x)')title('y=e^{1/x}sin(x)')xlabel('x'),ylabel('y')axis([1,8,-3,3])-10010y=xcosxxy-505y=xtan(1/x)sin(x 3x y12345678-202y=e1/xsin(x)xy第3题x=0:pi/50:4*piy1=exp(x./3).*sin(3.*x) y2=exp(x./3) y3=-exp(x./3)plot(x,y1,'b*',x,y2,'r-.',x,y3,'r-.')五.附加题目1.[x,y]=meshgrid(-5:0,-1:3)或者x=-5:0;y=(-1:3);X=ones(size(y))'*x,Y=y'*ones(size(x))2.(1)x=-10:0.1:10;y=-10:0.1:10;z=peaks(x,y) (2)[x,y]=meshgrid(-10:0.1:10);z=peaks(x,y); figure(1)subplot(221) mesh(x,y,z) subplot(222) meshc(x,y,z) subplot(223) meshz(x,y,z) subplot(224) surf(x,y,z)(3)(4)colormap(spring)colormap(summer)colormap(autumn)colormap(winter)六、遇到的问题及解决:不会使用axisde 函数,经过和同学讨论,终于学会了。
matlab计算机实验报告Matlab计算机实验报告引言Matlab是一种强大的计算机软件,广泛应用于科学计算、数据分析和工程设计等领域。
本实验报告旨在介绍我对Matlab的实验研究和应用。
通过实验,我深入了解了Matlab的功能和特点,并通过实际案例展示了其在科学计算和数据处理中的应用。
实验一:基本操作和语法在本实验中,我首先学习了Matlab的基本操作和语法。
通过编写简单的程序,我熟悉了Matlab的变量定义、赋值、运算符和条件语句等基本语法。
我还学习了Matlab的矩阵操作和向量化计算的优势。
通过实例演示,我发现Matlab在处理大规模数据时具有高效性和便捷性。
实验二:数据可视化数据可视化是Matlab的重要应用之一。
在本实验中,我学习了如何使用Matlab绘制各种图表,如折线图、散点图、柱状图和饼图等。
我了解了Matlab 的绘图函数和参数设置,并通过实例展示了如何将数据转化为直观的图形展示。
数据可视化不仅可以帮助我们更好地理解数据,还可以用于数据分析和决策支持。
实验三:数值计算和优化Matlab在数值计算和优化方面具有强大的功能。
在本实验中,我学习了Matlab 的数值计算函数和工具箱,如数值积分、微分方程求解和线性代数运算等。
通过实例研究,我发现Matlab在求解复杂数学问题和优化算法方面具有出色的性能。
这对于科学研究和工程设计中的数值分析和优化问题非常有用。
实验四:图像处理和模式识别Matlab在图像处理和模式识别领域也有广泛的应用。
在本实验中,我学习了Matlab的图像处理工具箱和模式识别算法。
通过实例演示,我了解了如何使用Matlab进行图像滤波、边缘检测和特征提取等操作。
我还学习了一些常见的模式识别算法,如支持向量机和神经网络等。
这些技术在计算机视觉和模式识别中具有重要的应用价值。
实验五:信号处理和系统建模Matlab在信号处理和系统建模方面也有广泛的应用。
在本实验中,我学习了Matlab的信号处理工具箱和系统建模工具。
MATLAB实验一:MATLAB语言基本概念实验实验目的:1. 熟悉MATLAB语言及使用环境;2.掌握MATLAB的常用命令;3.掌握MATLAB的工作空间的使用;4.掌握MATLAB的获得帮助的途径。
5.掌握科学计算的有关方法,熟悉MATLAB语言及其在科学计算中的运用;6.掌握MATLAB的命令运行方式和M文件运行方式;7.掌握矩阵在MATLAB中的运用。
实验方案分析及设计:本次实验主要目的是了解MATLAB的使用环境,以及常用的一些命令的使用;了解矩阵在MATLAB实验中的具体运用,以及相关的一些符号命令的使用。
实验器材:电脑一台,MATLAB软件实验步骤:打开MATLAB程序,将实验内容中的题目依次输入MATLAB中,运行得到并记录结果,最后再对所得结果进行验证。
实验内容及要求:1.熟悉MATLAB的菜单和快捷键的功能2.熟悉MATLAB的命令窗口的使用3.熟悉常用指令的使用format clc clear help lookfor who whos 4.熟悉命令历史窗口的使用5. 熟悉MATLAB工作空间的功能将工作空间中的变量保存为M文件,并提取该文件中的变量6.熟悉MATLAB获取帮助的途径将所有plot开头的函数列出来,并详细给出plotfis函数的使用方法1. 输入 A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2;3 3 3],在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3)A(:,3).*B(:,2) A(:,3)*B(2,:) A*BA.*BA^2 A.^2 B/A B./AA=[7 1 5;2 5 6;3 1 5]7 1 52 5 63 1 5>> B=[1 1 1; 2 2 2;3 3 3]1 1 12 2 23 3 3>> A(2, 3)6>> A(:,2)151>> A(3,:)3 1 5>> A(:,1:2:3)7 52 63 5>> A(:,3).*B(:,2)51215>> A(:,3)*B(2,:)10 10 1012 12 1210 10 10>> A*B24 24 2430 30 3020 20 20>> A.*B7 1 54 10 129 3 15>> A^266 17 6642 33 7038 13 46>> A.^249 1 254 25 369 1 25>> B/A0.1842 0.2105 -0.23680.3684 0.4211 -0.47370.5526 0.6316 -0.7105>> B./A0.1429 1.0000 0.20001.0000 0.4000 0.33331.0000 3.0000 0.60002.输入 C=1:2:20,则 C (i )表示什么?其中 i=1,2,3, (10)1到19差为2,i 代表公差3. 试用 help 命令理解下面程序各指令的含义:cleart =0:0.001:2*pi;subplot(2,2,1);polar(t, 1+cos(t))subplot(2,2,2);plot(cos(t).^3,sin(t).^3)subplot(2,2,3);polar(t,abs(sin(t).*cos(t)))subplot(2,2,4);polar(t,(cos(2*t)).^0.5)4计算矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡897473535与⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡638976242之和。
初识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实验报告1MATLAB实验报告1摘要:本实验使用MATLAB软件进行了一系列的实验,主要包括数据处理、图像处理和信号处理。
通过实验,我们掌握了MATLAB软件在科学计算和工程领域的应用,深入了解了MATLAB在数据处理、图像处理和信号处理方面的强大功能。
一、数据处理实验在数据处理实验中,我们使用MATLAB对一组实验数据进行了分析和处理。
首先,我们导入了实验数据并进行了数据清洗和预处理,然后利用MATLAB的统计分析工具对数据进行了描述性统计分析,包括均值、方差、标准差等指标的计算。
接着,我们利用MATLAB的绘图工具绘制了数据的直方图和散点图,直观地展现了数据的分布规律和相关性。
二、图像处理实验在图像处理实验中,我们使用MATLAB对一幅图像进行了处理和分析。
首先,我们读取了图像并进行了灰度化处理,然后利用MATLAB的图像滤波工具对图像进行了平滑和锐化处理,最后利用MATLAB的图像分割工具对图像进行了分割和特征提取。
通过实验,我们深入了解了MATLAB在图像处理领域的应用,掌握了图像处理的基本原理和方法。
三、信号处理实验在信号处理实验中,我们使用MATLAB对一组信号进行了处理和分析。
首先,我们生成了一组模拟信号并进行了频域分析,利用MATLAB的信号滤波工具对信号进行了滤波处理,然后利用MATLAB的频谱分析工具对信号的频谱特性进行了分析。
通过实验,我们深入了解了MATLAB在信号处理领域的应用,掌握了信号处理的基本原理和方法。
综上所述,本实验通过对MATLAB软件的应用实验,使我们对MATLAB在数据处理、图像处理和信号处理方面的功能有了更深入的了解,为我们今后在科学计算和工程领域的应用奠定了良好的基础。
MATLAB软件的强大功能和广泛应用前景,将为我们的学习和科研工作提供有力的支持和帮助。
MATLAB实验报告3MATLAB实验报告3一、实验目的1.掌握MATLAB程序的调试方法;2.掌握MATLAB中的矩阵操作;3.熟悉MATLAB中处理图像的基本操作。
二、实验内容1.用MATLAB调试程序;2.用MATLAB进行矩阵运算;3.用MATLAB处理图像。
三、实验原理及步骤1.MATLAB程序的调试方法在MATLAB中调试程序可以采用设置断点、逐行运行、单步调试等方法。
设置断点可以在程序中的其中一行上点击左键,会出现一个红色的圆点表示断点已设置。
逐行运行可以通过点击Editor界面上的运行按钮实现。
单步调试可以通过点击断点所在行的左侧按钮实现。
2.矩阵运算在MATLAB中,对于矩阵的运算可以使用一些基本的函数,如矩阵加法、减法、乘法等。
矩阵加法可以使用"+"操作符实现,减法可以使用"-"操作符实现,乘法可以使用"*"操作符实现。
另外,MATLAB还提供了一些更复杂的矩阵运算函数,如矩阵的转置、逆等。
3.图像处理在MATLAB中,可以使用imread函数加载图像文件,使用imshow函数显示图像,使用imwrite函数保存图像。
另外,还可以使用一些图像处理函数对图像进行处理,如灰度化、二值化、平滑滤波等。
四、实验步骤1.调试程序首先,在MATLAB的Editor界面中打开要调试的程序文件。
然后,在程序的其中一行上点击左键,即设置了一个断点。
最后,点击运行按钮,程序会在断点处停下,然后可以通过单步调试和逐行运行来逐步查看程序的执行过程和变量的取值。
2.矩阵运算首先,定义两个矩阵A和B,并赋值。
然后,使用"+"操作符对两个矩阵进行相加,得到矩阵C。
最后,使用disp函数显示矩阵C的值。
3.图像处理首先,使用imread函数加载一张图像。
然后,使用imshow函数显示加载的图像。
接着,使用rgb2gray函数将彩色图像转换为灰度图像。
matlab实验报告实验报告:Matlab实验分析1. 实验目的本实验旨在通过Matlab软件完成一系列数值计算和数据分析的任务,包括绘制曲线、解方程、矩阵运算等,以加深对Matlab软件的理解和掌握。
2. 实验内容2.1 绘制函数曲线首先,我们通过在Matlab中输入函数的表达式来绘制函数曲线。
例如,我们可以输入y = sin(x)来绘制正弦函数的曲线。
另外,我们还可以设置曲线的颜色、线型和坐标轴范围等。
2.2 解方程接下来,我们使用Matlab来解方程。
对于一元方程,我们可以使用solve函数来求出方程的解。
例如,我们输入syms x; solve(x^2 - 2*x - 8)来解方程x^2 - 2x - 8 = 0。
而对于多元方程组,我们可以使用solve函数的向量输入形式来求解。
例如,我们输入syms x y; solve(x^2 + y^2 - 1, x - y - 1)来求解方程组x^2 + y^2 - 1 = 0和x - y - 1 = 0的解。
2.3 矩阵运算Matlab也可以进行矩阵运算。
我们可以使用矩阵相乘、相加和取逆等运算。
例如,我们可以输入A = [1 2; 3 4]和B = [5 6;7 8]来定义两个矩阵,然后使用A * B来计算它们的乘积。
3. 实验结果与分析在本实验中,我们成功完成了绘制函数曲线、解方程和矩阵运算等任务。
通过Matlab软件,我们可以快速、准确地进行数值计算和数据分析。
使用Matlab的高级函数和工具箱,我们可以更方便地处理复杂的数值计算和数据分析问题。
4. 实验总结通过本次实验,我们进一步加深了对Matlab软件的理解和掌握。
Matlab提供了丰富的函数库和工具箱,适用于各种不同的数值计算和数据分析任务。
在日常科研和工程实践中,Matlab是一个非常强大和方便的工具,可以帮助我们更高效地完成任务。
学生实验报告开课学院及实验室: 机电学院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 解决实际问题的能力。
二、实验环境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基础知识一、实验目的:1.熟悉启动和退出Matlab的方法。
2.熟悉Matlab命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握Matlab各种表达式的书写规则以及常用函数的使用。
二、实验内容:1.求[100,999]之间能被21整除的数的个数。
(rem)2.建立一个字符串向量,删除其中的大写字母。
(find)3.输入矩阵,并找出其中大于或等于5的元素。
(find)4.不采用循环的形式求出和式6312ii=∑的数值解。
(sum)三、实验步骤:●求[100,199]之间能被21整除的数的个数。
(rem)1.开始→程序→Matlab2.输入命令:»m=100:999;»p=rem(m,21);»q=sum(p==0)ans=43●建立一个字符串向量,删除其中的大写字母。
(find)1.输入命令:»k=input('’,’s’);Eie48458DHUEI4778»f=find(k>=’A’&k<=’Z’);f=9 10 11 12 13»k(f)=[ ]K=eie484584778●输入矩阵,并找出其中大于或等于5的元素。
(find)1.输入命令:»h=[4 8 10;3 6 9; 5 7 3];»[i,j]=find(h>=5)i=3 j=11 22 23 21 32 3●不采用循环的形式求出和式的数值解。
(sum)1.输入命令:»w=1:63;»q=sum(2.^w)q=1.8447e+019实验二 Matlab 基本程序一、 实验目的:1. 熟悉Matlab 的环境与工作空间。
2. 熟悉M 文件与M 函数的编写与应用。
3. 熟悉Matlab 的控制语句。
4. 掌握if,switch,for 等语句的使用。
二、 实验内容:1. 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。
最小二乘法及程序设计算法专业班级:信计121班 姓名:金 辉 学号:2012014280一、实验目的1、熟悉MA TLAB 编程;2、学习最小二乘法及程序设计算法;3、编写尽可能通用的程序并撰写程序使用说明,使用所编写的程序对实验问题进行求解并提交实验报告。
二、实验题目1、对于给函数22511)(x x f +=在区间[]1,1-上取10.2(0,1,...,10)i x i i =-+=,试求3次曲线拟合,试画出拟合曲线并打印出方程,与第2章计算实习题2的结果比较。
试求及相应的三种拟合曲线。
三、实验原理与理论基础用最小二乘法求拟合曲线时,22δ都考虑为加权平均和[]2220()()()mi i i i x S x f x δω==-∑ (4.3)这里()0x ω≥是[],a b 上的权函数,它表示不同点(),()i i x f x 处的数据比重不同。
用最小二乘法求拟合曲线的问题,就是在形如0()()()ni ii S x a x n m ϕ==<∑ (4.2)式中的()S x 中求一函数*()y S x =,使(4.3)式取得最小。
它可转化为求多元函数20100(,,...,)()()()mn n i j j i i i j I a a a x a x f x ωϕ==⎡⎤=-⎢⎥⎣⎦∑∑ (4.4)的极小点()***01,,...,n a a a 的问题。
由求多元函数极值的必要条件,有002()()()()0,0,1,...,.m n i j j i i k i i j k Ix a x f x x k n a ωϕϕ==⎡⎤∂=-==⎢⎥∂⎣⎦∑∑ 若记 0(,)()()()mj k ijikii x x x ϕϕωϕϕ==∑ (4.5)(,)()()(),0,1,...,mk i i k i k i f x f x x d k n ϕωϕ==≡=∑上式可改写为(,),0,1,...,.nkj j k j a d k n ϕϕ===∑ (4.6),此线性方程组称为法方程,可将其写成矩阵形式 Ga d =,其中01(,,...,)T n a a a a =,01(,,...,)T n d d d d =,000101011101(,)(,)...(,)(,)(,)...(,).........(,)(,)...(,)n n n n n n G ϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕ⎛⎫⎪ ⎪= ⎪ ⎪⎝⎭ (4.7) 要使法方程(4.6)有唯一解01,,...,n a a a ,就要求矩阵G 非奇异。
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 软件的基本操作环境和编程语法,通过实际编写和运行简单的程序,初步掌握 MATLAB 在数值计算、图形绘制和数据处理方面的基本功能。
二、实验环境本次实验使用的是 MATLAB R2020a 版本,运行在 Windows 10 操作系统上。
计算机配置为:Intel Core i5 处理器,8GB 内存。
三、实验内容及步骤1、矩阵运算创建一个 3×3 的矩阵 A,元素分别为 1 到 9。
创建一个 3×3 的零矩阵 B。
计算 A+B 和 A×B 的结果。
在 MATLAB 中,我们可以使用以下代码实现:```matlabA = 1 2 3; 4 5 6; 7 8 9;B = zeros(3);C = A + B;D = A B;disp(C);disp(D);```2、数据类型转换定义一个整数变量 x 为 5。
将 x 转换为双精度浮点数。
将 x 转换为字符串类型。
代码如下:```matlabx = 5;y = double(x);z = num2str(x);disp(y);disp(z);```3、函数调用定义一个函数 fun,输入参数为 x,返回值为 x 的平方。
调用函数 fun,计算 3 的平方。
函数定义及调用代码:```matlabfunction y = fun(x)y = x^2;endresult = fun(3);disp(result);```4、图形绘制绘制函数 y = sin(x)在区间0, 2π上的图像。
使用以下代码实现:```matlabx = 0:001:2pi;y = sin(x);plot(x, y);```四、实验结果1、矩阵运算A+B 的结果为:```matlab1 2 34 5 67 8 9```A×B 的结果为:```matlab0 0 00 0 00 0 0```2、数据类型转换将整数 5 转换为双精度浮点数,结果为 50000。
课程实验报告学年学期2015-2016学年第2学期课程名称MATLAB与科学计算实验名称实验一 MATLAB环境与数值计算实验室测量测绘实验中心计算机室专业年级土木13级学生姓名学生学号 20130提交时间 2016-06-02 成绩任课教师王增红水利与建筑工程学院实验一 MATLAB环境与数值计算1、目的和要求(1)熟练掌握MATLAB的启动和退出、MATLAB的命令窗口;常用选单和工具栏,通过实例初步认识对MATLAB的命令和程序运行等。
(2)熟练掌握MATLAB变量的使用;(3)熟练掌握矩阵的创建、掌握MATLAB的矩阵和数组的运算;(4)熟悉MATLAB多项式的运用,掌握MATLAB的拟合和插值方法、积分运算和统计运算。
2、内容和步骤参见教材实验一、二。
3、实验报告提交要求(1)用MALTAB命令和M程序两种方式求解三元一次方程组。
答:以求解三元一次方程组{2a−b+3c=53a+b−5c=54a−b+c=9为例:(2)用MALTAB命令和M程序两种方式求解3×3复数矩阵的模和相角。
答:(3)创建一个4╳4矩阵,求逆矩阵、产生对角矩阵、求矩阵的秩等。
(5)创建一个一元四次多项式,进行多项式求值,求根计算。
432(6)创建一个一元三次多项式,取十个不同自变量值,计算多项式的值,并分别进行一阶、二阶拟合,图示原始数据和拟合结果(7)自建一个一元三次多项式,取十个不同自变量值,计算多项式的值,并用线性、相邻点和三次插值,图示其插值结果。
解:(8)给出多组温度的测定值(内含平均温度、最低、最高温度),并求其平均温度、最低、最高温度的平均值、标准差等。
解:>> a=fix(40*rand(6,3)+1)a =39 32 2820 39 3133 27 306 2 1617 34 2737 38 7>> mean(a) %各列的平均值ans =25.3333 28.6667 23.1667 >> std(a) %各列的标准差ans =13.0639 13.7647 9.5795课程实验报告学年学期2015-2016学年第2学期课程名称MATLAB与科学计算实验名称实验二 MATLAB的符号计算与可视化实验室测量测绘实验中心计算机室专业年级土木13级学生姓名学生学号提交时间 2016-06-02成绩任课教师王增红水利与建筑工程学院实验二 MATLAB的符号计算与可视化1、目的和要求(1)熟练掌握MATLAB符号表达式的创建、代数运算及化简。
课程实验报告
学年学期2015-2016学年第2学期
课程名称MATLAB与科学计算
实验名称实验一 MATLAB环境与数值计算实验室测量测绘实验中心计算机室专业年级土木13级
学生姓名
学生学号 *****
提交时间 2016-06-02 成绩
任课教师王增红
水利与建筑工程学院
实验一 MATLAB环境与数值计算
1、目的和要求
(1)熟练掌握MATLAB的启动和退出、MATLAB的命令窗口;常用选单和工具栏,通过实例初步认识对MATLAB的命令和程序运行等。
(2)熟练掌握MATLAB变量的使用;
(3)熟练掌握矩阵的创建、掌握MATLAB的矩阵和数组的运算;
(4)熟悉MATLAB多项式的运用,掌握MATLAB的拟合和插值方法、积分运算和统计运算。
2、内容和步骤
参见教材实验一、二。
3、实验报告提交要求
(1)用MALTAB命令和M程序两种方式求解三元一次方程组。
答:以求解三元一次方程组{2a−b+3c=5
3a+b−5c=5
4a−b+c=9
为例:
(2)用MALTAB命令和M程序两种方式求解3×3复数矩阵的模和相角。
答:
(3)创建一个4╳4矩阵,求逆矩阵、产生对角矩阵、求矩阵的秩等。
(5)创建一个一元四次多项式,进行多项式求值,求根计算。
432
(6)创建一个一元三次多项式,取十个不同自变量值,计算多项式的值,并分别进行一阶、二阶拟合,图示原始数据和拟合结果
(7)自建一个一元三次多项式,取十个不同自变量值,计算多项式的值,并用线性、相邻点和三次插值,图示其插值结果。
解:
(8)给出多组温度的测定值(内含平均温度、最低、最高温度),并求其平均温度、最低、最高温度的平均值、标准差等。
解:
>> a=fix(40*rand(6,3)+1)
a =
39 32 28
20 39 31
33 27 30
6 2 16
17 34 27
37 38 7
>> mean(a) %各列的平均值
ans =
25.3333 28.6667 23.1667 >> std(a) %各列的标准差
ans =
13.0639 13.7647 9.5795
课程实验报告
学年学期2015-2016学年第2学期
课程名称MATLAB与科学计算
实验名称实验二 MATLAB的符号计算与可视化实验室测量测绘实验中心计算机室专业年级土木13级
学生姓名
学生学号
提交时间 2016-06-02
成绩
任课教师王增红
水利与建筑工程学院
实验二 MATLAB的符号计算与可视化
1、目的和要求
(1)熟练掌握MATLAB符号表达式的创建、代数运算及化简。
(2)熟悉符号方程的求解。
(3)熟练掌握MATLAB二维曲线、三维图形的绘制。
(4)熟练掌握各种特殊图形的绘制。
2、内容和步骤
参见教材实验三、四。
3、实验报告提交要求
(1)使用sym和syms命令创建符号变量和符号表达式;
解:>> syms x y
>> z=x^6+y^5+x*y
z =
x^6 + x*y + y^5
>> subs(z,x,5) %用5替换了x
ans =
y^5 + 5*y + 15625
(3)寻找两个一元三次符号表达式,分别进行其符号表达式的加、减、乘等运算;
(4)寻找一个可化简的符号表达式,并化简;
解:>> y=sym('x^7+x^5+1')
y =
x^7 + x^5 + 1
>> factor(y)
ans =
(x^2 + x + 1)*(x^5 - x^4 + x^3 - x + 1)
(5) 绘制二维曲线,寻找四种二维的曲线,把图形窗口分割为2列2行,并分别标明图名、坐标等。
解:
(6) 绘制特殊图形。
参照教材中相关内容,选取不同的数据绘制三维条形图;
(7)随机产生正态分布的数据100个,给出统计数据,并绘制饼状图。
注:所有题目要求不同的学生采用不同的符号数字,报告中应列明命令或M文件及结果,(5)~(7)题要求用M文件表达。
课程实验报告
学年学期2015-2016学年第2学期
课程名称MATLAB与科学计算
实验名称实验三 MATLAB程序设计
实验室测量测绘实验中心计算机室专业年级级
学生姓名
学生学号 1
提交时间 2016-06-02 成绩
任课教师王增红
水利与建筑工程学院
实验三 MATLAB 程序设计
1、目的和要求
(1)熟练掌握MATLAB 的程序流程控制结构。
(2)熟练掌握M 文件的结构。
(3)熟练掌握函数调用和参数传递。
2、内容和步骤
参见教材实验五。
3、实验报告提交要求
用for 语句、while 和函数调用三种方式分别对下述两题进行编程,并上机进行操作、运行出结果。
(1) +-+-+-
=)!
2()1(!4!21cos 242n x x x x n
n n ≥30即可
(2) ++-++-+-=++1
)1(432)1ln(1
432n x x x x x x n n (-1<x ≤1) n ≥2000即可
课程实验报告
学年学期2015-2016学年第2学期
课程名称MATLAB与科学计算
实验名称实验四 Simulink仿真
实验室测量测绘实验中心计算机室专业年级土级
学生姓名
学生学号
提交时间 2016-06-02 成绩
任课教师王增红
水利与建筑工程学院
实验四 Simulink仿真
1、目的和要求
掌握Simulink的模型窗口、创建过程,会设置模块和信号线参数。
2、内容和步骤
参见教材7.5.2小节内容。
3、实验报告提交要求
(1) 使用Simulink模型窗口用两种方法建立二阶系统的仿真模型,并写出具体步骤。
法一:
➢打开simulink窗口,新建一个模型。
➢在“Sources”模块库选择“Step”模块,在“Conyinuous”模块库选择“Transfer Fcn”
模块,在“Math Operations”模块库选择“Sum”模块,在“Sinks”模块库选择“Scope”
模块。
连接各模块,从信号线引出分支点,构成环闭系统。
➢设置模块参数,打开“Sum”模块“参数设置”对话框,将“Icon shape”设置为“rectangular”,将“List of signs”设置为“|+-”。
在“Transfer Fcn”模块的“参数设置”对话框
中,将坟墓多项式“Denominator”设置为“[1 0.6 0]”。
在“Step”模块的“参数设置”
对话框中,将“Step time”修改为0。
➢添加信号线文本注释。
➢方针并分析。
在Simulink模型窗口,选择菜单“Simulation”→“Simulation parameters…”命令,
在“Solver”页将“Stop time”设置为15,单机“Start simulation”按钮,示波器显
示时间为15s。
打开示波器的“y坐标设置”对话框,将y坐标的“Y-min”改为0,“Y-max”
改为2。
运行后得到下图。
图一图二
法二:将法一中系统的结构修改成使用积分模块(integrater)和零极点模块(zero-pole)串联,反馈使用“math operations”模块库中的“gain”模块结构成反馈环的增益为-1,二阶系统结构如图一所示,因此运行后的波形图也与法一所得到的波形图相同。
图一图二
(2) 使用Simulink模型窗口创建如下所示的模型,并进行仿真。
步骤:
➢选择“sources”模块库中选择两个“sine wave”模块,在“Math Operations”中选择“sum”
模块,在“sinks”模块中选择“scope”模块,在“continuous”模块库中选择“integrator”
模块。
➢然后用信号线连接个模块,构成闭环系统。
➢仿真并分析,单击工具栏中的“start simulation”按钮开始仿真,在示波器上显示仿真波形。
图一图二。