matlab实验报告
Matlab实验报告(三)-MATLAB绘图

实验目的1.掌握MATLAB的基本绘图命令。
2.掌握运用MATLAB绘制一维、二维、三维图形的方法.3.给图形加以修饰。
一、预备知识1.基本绘图命令plotplot绘图命令一共有三种形式:⑴plot(y)是plot命令中最为简单的形式,当y为向量时,以y的元素为纵坐标,元素相应的序列号为横坐标,绘制出连线;若y为实矩阵,则按照列绘出每列元素和其序列号的对应关系,曲线数等于矩阵的列数;当y为复矩阵时,则按列以每列元素的实部为横坐标,以虚部为纵坐标,绘出曲线,曲线数等于列数。
⑵ plot(x,y,[linspec])其中linspec是可选的,用它来说明线型。
当x和y为同维向量时,以x为横坐标,y为纵坐标绘制曲线;当x是向量,y是每行元素数目和x维数相同的矩阵时,将绘出以x为横坐标,以y中每行元素为纵坐标的多条曲线,曲线数等于矩阵行数;当x为矩阵,y为相应向量时,使用该命令也能绘出相应图形。
⑶ plot(x1,y1,x2,y2,x3,y3……)能够绘制多条曲线,每条曲线分别以x和y为横纵坐标,各条曲线互不影响。
线型和颜色MATLAB可以对线型和颜色进行设定,线型和颜色种类如下:线:—实线:点线 -.虚点线——折线点:.圆点 +加号 *星号 x x型 o 空心小圆颜色:y 黄 r 红 g 绿 b 蓝 w 白 k 黑 m 紫 c 青特殊的二维图形函数表5 特殊2维绘图函数[1] 直方图在实际中,常会遇到离散数据,当需要比较数据、分析数据在总量中的比例时,直方图就是一种理想的选择,但要注意该方法适用于数据较少的情况。
直方图的绘图函数有以下两种基本形式。
·bar(x,y) 绘制m*n 矩阵的直方图.其中y 为m *n 矩阵或向量,x 必须单向递增。
·bar(y) 绘制y 向量的直方图,x 向量默认为x=1:m close all; %关闭所有的图形视窗。
x=1:10;y=rand (size(x )); bar(x,y ); %绘制直方图.123456789100.51Bar()函数还有barh ()和errorbar ()两种形式,barh()用来绘制水平方向的直方图,其参数与bar()相同,当知道资料的误差值时,可用errorbar ()绘制出误差范围,其一般语法形式为:errorbar (x,y,l,u)其中x,y 是其绘制曲线的坐标,l ,u 是曲线误差的最小值和最大值,制图时,l 向量在曲线下方,u 向量在曲线上方。
基于matlab的实验报告

基于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 完成了数据分析、图像处理和算法实现的一系列实验操作。
通过数据分析,我们成功导入了数据并对其进行了清洗和预处理,最后得到了数据的统计结果。
在图像处理方面,我们对图像进行了滤波、增强和分割等操作,最终得到了处理后的图像。
MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告一、实验目的1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。
2.学会运用MATLAB表示常用连续时间信号的方法3.观察并熟悉一些信号的波形和特性。
4.学会运用MATLAB进行连续信号时移、反折和尺度变换。
5.学会运用MATLAB进行连续时间微分、积分运算。
6.学会运用MATLAB进行连续信号相加、相乘运算。
7.学会运用MATLAB进行连续信号的奇偶分解。
二、实验任务将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。
三、实验内容1.MATLAB软件基本运算入门。
1). MATLAB软件的数值计算:算数运算向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。
2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。
矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。
2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。
3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。
举例:计算一个函数并绘制出在对应区间上对应的值。
2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名”2.MATLAB软件简单二维图形绘制1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y)2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p)3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin])4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’)5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’)6).输出:grid on举例1:举例2:3.matlab程序流程控制1).for循环:for循环变量=初值:增量:终值循环体End2).while循环结构:while 逻辑表达式循环体End3).If分支:(单分支表达式)if 逻辑表达式程序模块End(多分支结构的语法格式)if 逻辑表达式1程序模块1Else if 逻辑表达式2程序模块2…else 程序模块nEnd4).switch分支结构Switch 表达式Case 常量1程序模块1Case 常量2程序模块2……Otherwise 程序模块nEnd4.典型信号的MATLAB表示1).实指数信号:y=k*exp(a*t)举例:2).正弦信号:y=k*sin(w*t+phi)3).复指数信号:举例:4).抽样信号5).矩形脉冲信号:y=square(t,DUTY) (width默认为1)6).三角波脉冲信号:y=tripuls(t,width,skew)(skew的取值在-1~+1之间,若skew取值为0则对称)周期三角波信号或锯齿波:Y=sawtooth(t,width)5.单位阶跃信号的MATLAB表示6.信号的时移、反折和尺度变换:Xl=fliplr(x)实现信号的反折7.连续时间信号的微分和积分运算1).连续时间信号的微分运算:语句格式:d iff(function,’variable’,n)Function:需要进行求导运算的函数,variable:求导运算的独立变量,n:求导阶数2).连续时间信号的积分运算:语句格式:int(function,’variable’,a,b)Function:被积函数variable:积分变量a:积分下限b:积分上限(a&b默认是不定积分)8.信号的相加与相乘运算9.信号的奇偶分解四、小结这一次实验让我能够教熟悉的使用这个软件,并且能够输入简单的语句并输出相应的结果和波形图,也在一定程度上巩固了c语言的一些语法。
程序设计实验报告(matlab)

程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。
实验内容:运用Matlab进行简单的程序设计。
实验方法:基于Matlab环境下的简单程序设计。
实验结果:成功掌握简单的程序设计和Matlab基本编程语法。
实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。
实验内容:在Matlab环境下进行多项式拟合和插值的计算。
实验方法:结合Matlab的插值工具箱,进行相关的计算。
实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。
实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。
实验内容:利用Matlab进行最小二乘法计算。
实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。
实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。
实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。
实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。
实验方法:基于Matlab的ODE工具箱,进行ODE求解。
实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。
总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。
通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。
这些知识和技能对我未来的学习和工作都将有着重要的帮助。
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最短路径实验报告一、实验目的本实验的目的是通过使用Matlab软件来实现最短路径算法,掌握最短路径算法的基本思路和实现方法,加深对图论知识的理解和应用能力。
二、实验原理最短路径算法是图论中一个重要的问题,它是指在一个加权有向图或无向图中从一个顶点到另一个顶点之间经过的边权值之和最小的路径。
常见的最短路径算法有Dijkstra算法、Bellman-Ford算法、Floyd-Warshall算法等。
本次实验采用Dijkstra算法来求解最短路径。
Dijkstra算法是一种贪心算法,它通过维护一个集合S来不断扩展已知最短路径集合S中所有节点到未知节点v之间的距离,并选取其中距离最小的节点u加入S中,直到所有节点都被加入S为止。
三、实验步骤1. 构建图首先需要构建一个加权有向图或无向图。
本次实验采用无向图,并使用邻接矩阵表示。
具体步骤如下:(1)定义节点数n和边数m;(2)定义邻接矩阵A(n*n),其中A(i,j)表示从i到j是否有边,如果有则为边的权值,如果没有则为无穷大。
2. 初始化(1)定义两个数组dist和visited,其中dist(i)表示从起点到节点i 的最短距离,visited(i)表示节点i是否已经加入集合S中;(2)将起点加入集合S中,并将visited数组对应位置设为1;(3)初始化dist数组,将所有非起点节点的距离设为无穷大。
3. 迭代更新(1)遍历集合S中所有节点u的邻居节点v,如果v未被加入集合S 中,则更新dist(v)的值。
具体而言,如果dist(u)+A(u,v)<dist(v),则更新dist(v)=dist(u)+A(u,v);(2)在所有未加入集合S中的节点中选取距离最小的节点u,并将其加入集合S中。
4. 输出结果输出起点到各个终点的最短路径长度和路径。
四、实验结果与分析本次实验构建了一个无向图,并使用Dijkstra算法求解了最短路径。
具体实现过程如下:1. 构建图构建了一个6个节点、8条边的无向图,邻接矩阵如下:0 6 4 Inf Inf Inf6 0 1 5 Inf Inf4 1 0 Inf Inf InfInf5InfInf0 Inf 1InfInfInf Inf0 2InfInfInf 1 2 0其中,Inf表示两个节点之间没有边。
matlab实验报告

matlab实验报告实验1 熟悉matlab 的开发环境及矩阵操作⼀、实验的教学⽬标通过本次实验使学⽣熟悉MATLAB7.0的开发环境,熟悉MA TLAB ⼯作界⾯的多个常⽤窗⼝包括命令窗⼝、历史命令窗⼝、当前⼯作⽬录窗⼝、⼯作空间浏览器窗⼝等。
掌握建⽴表达式书写规则及常⽤函数的使⽤,建⽴矩阵的⼏种⽅法。
⼆、实验环境计算机、MATLAB7.0集成环境三、实验内容1、熟悉命令窗⼝的使⽤,⼯作空间窗⼝的使⽤,⼯作⽬录、搜索路径的设置。
命令历史记录窗⼝的使⽤,帮助系统的使⽤。
2、在当前命令窗⼝中输⼊以下命令:x=0:2:10 y=sqrt(x),并理解其含义。
3、求下列表达式的值(1)w=)1034245.01(26-?+?(2)x=ac b e abc cb a ++-+++)tan(22ππ,其中a=3.5,b=5,c=-9.8 四、实验总结1、熟悉了命令窗⼝的使⽤,⼯作空间窗⼝的使⽤。
2、了解了⼯作⽬录、搜索路径的设置⽅法。
---5317383399351542实验2 MATLAB 基本运算⼀、实验的教学⽬标通过本次实验使学⽣掌握向量和矩阵的创建⽅法;掌握矩阵和数组的算术运算、逻辑运算和关系运算;掌握字符数组的创建和运算;了解创建元胞数组和结构体的⽅法。
⼆、实验环境计算机、MATLAB7.0集成环境三、实验内容1、要求在闭区间]2,0[π上产⽣具有10个等距采样点的⼀维数组。
试⽤两种不同的指令实现。
(提⽰:冒号⽣成法,定点⽣成法)2、由指令rng('default'),A=rand(3,5)⽣成⼆维数组A ,试求该数组中所有⼤于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。
(提⽰:find 和sub2ind )3、创建3阶魔⽅矩阵a 和3阶对⾓阵b ,c=a(1:3,1:3)(1)计算矩阵a,b 和c 的⾏列式、逆矩阵并进⾏最⼤值的统计。
(2)⽐较矩阵和数组的算术运算:b 和c 的*、/、^和.*、./、.^。
初识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,并学习了基本的语法、变量和函数的使用方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一小球做自由落体运动内容:一小球竖直方向做自由落体,并无损做往返运动。
程序:theta=0:0.01:2*pix=cos(theta)y=sin(theta)l=1v=1while l<10for t=1:10y=y+(-1)^l*v*tplot(x,y,[-1,1],[-56,2],'.')axis equalpause(0.1)endl=l+1end结果:-50-40-30-20-10收获:通过运用小球自由落体规律,及(-1)^n 来实现无损往返运动!实验二 旋转五角星内容:一个五角星在圆内匀速旋转程序:x=[2 2 2 2 2 2]y=[0 4/5*pi 8/5*pi 2/5*pi 6/5*pi 0]y1=2*sin(y)x1=2*cos(y)theta=0:4/5*pi:4*pix2=2*cos(theta)y2=2*sin(theta)plot(x,y,x1,y1,x2,y2) axis equaltheta1=theta+pi/10x2=2*cos(theta1)y2=2*sin(theta1)plot(x2,y2)axis equaltheta=0:4/5*pi:4*pifor rot=pi/10:pi/10:2*pi x=2*cos(theta+rot) y=2*sin(theta+rot) plot(x,y)pause(0.1)end结果:-2-1.5-1-0.500.51 1.52-2-1.5-1-0.50.511.52收获:通过theta1=theta+pi/10,我们可以实现五角星在圆内匀速旋转!实验三 转动的自行车内容:一辆自行车在圆内匀速转动程序:x=-4:0.08:4;y=sqrt(16-x.^2);theta1=-pi/2:0.01*pi:3*pi/2;x3=0.5*cos(theta1);y3=0.5*sin(theta1);theta=-pi/2+0.02*pifor k=1:100theta=theta-0.02*pix1=2*cos(theta);y1=2*sin(theta);x2=3.5*cos(theta);y2=3.5*sin(theta);x4=3.5*cos(theta+0.2*pi);y4=3.5*sin(theta+0.2*pi);x5=2.3*cos(theta);y5=2.3*sin(theta);yuanx=3.5*cos(theta);yuany=3.5*sin(theta);yuanx1=3.5*cos(theta+0.2*pi);yuany1=3.5*sin(theta+0.2*pi);plot(x,y,'k',x,-y,'k',x1,y1,'k',x2,y2,'k',[x1 x2],[y1 y2],'k',x3+yuanx,y3+yuany,'k',x4,y4,'k',[x2 x4],[y2y4],'k',x3+yuanx1,y3+yuany1,'k',[x5 x4],[y5 y4],'k')pause(0.1)end结果:-4-3-2-101234-4-3-2-11234收获:通过条件语句及极坐标来控制自行车在圆内匀速旋转!实验四 角度画圆内容:一个小球在下半圆内做往复运动程序:theta=0:-0.01*pi:-pix=10*cos(theta)y=10*sin(theta)x1=cos(theta1)y1=sin(theta1)l=1jiao=0while l<10for k=1:100jiao=jiao+(-1)^l*0.01*piyuanx=9*cos(jiao)yuany=9*sin(jiao)plot(x,y,x1+yuanx,y1+yuany,-11,-11,11,1)pause(0.1)endl = l+1end结果:-15-10-5051015-12-10-8-6-4-22收获:通过条件语句及 jiao=jiao+(-1)^l*0.01*pi ,和极坐标的应用,我们可以实现“角度画圆”!实验五 笑脸内容:用数学公式转化成程序语言,画出一个笑脸。
程序:x=-2:0.04:2y=sqrt(4-x.^2)x1=-1.5:0.01:-0.7y1=0.3*sqrt(1-((x1+1.1).^2)/0.16)+0.6;x2=-0.3:0.006:0.3y2=(sqrt(0.09-x2.^2))-0.2x3=-0.5:0.01:0.5y3=-0.3*sqrt(1-x3.^2/0.25)-1.2plot(x,y,'k',x,-y,'k',x1,y1,'k',x1+2.3,y1,'k',x2,y2,'k',x2,-y2-0.4,'k',x3,y3,'k')结果:-2-1.5-1-0.500.51 1.52-2-1.5-1-0.50.511.52收获:通过使用sqrt()函数,我们能够画出一个圆、椭圆,进而画出一个笑脸!实验六自行车车轮斜面滚动内容:一个自行车轮子在斜面上滚动,并在水平面上滑动。
程序:x=[10 0 10];y=[10 0 0];theta=0 :0.01:4*pix1=cos(theta)y1=sin(theta)theta2=[0 2/3*pi 4/3*pi]s=0for theta3= 0: pi/10 : 6*piif theta3/sqrt(2) >=9s=s + pi/10t=9elses=theta3/sqrt(2)t=theta3/sqrt(2)endx3=[(cos(theta2+theta3)+10-sqrt(2));(10-sqrt(2))*ones(1,3)] ;y3=[(sin(theta2+theta3)+10);10*ones(1,3)]; plot(x,y,x1+10-sqrt(2)-s,y1+10-t,x3-s,y3-t) pause(0.1)end结果:-8-6-4-20246810012345678910收获:通过画辐条theta2=[0 2/3*pi 4/3*pi]及条件语句的运用,我们可以使小轮在斜面上匀速滚动。
实验七 自行车在水平面上前进 内容:一辆自行车在水平面上匀速前进, 程序:x1=[3 2 4 7 6 3 4 6]y1=[6 4 2.5 2.5 1 1 2.5 1]x2=[3 1.5 2 0]y2=[1 9/4+1 4 1]x3=2.7:0.006:3.3y3=sqrt(0.09-(x3-3).^2)+1x4=-1:0.01:1y4=sqrt(1-x4.^2)+1dianx=[-13,8]diany=[0,11]for theta=0:pi/10:4*pia=[cos(theta) -sin(theta);sin(theta) cos(theta)]*[1;0]+[0;1] x5=[a(1) 0]y5=[a(2) 1]a=[cos(theta) -sin(theta);sin(theta)cos(theta)]*[-1/2;(sqrt(3))/2]+[0;1]x6=[a(1) 0]y6=[a(2) 1]a=[cos(theta) -sin(theta);sin(theta)cos(theta)]*[-1/2;-(sqrt(3))/2]+[0;1]x7=[a(1) 0]y7=[a(2) 1]plot(x1-theta,y1,'k-',x2-theta,y2,'k-',x3-theta,y3,'k-',x3-theta,-y3+2,'k-',x4-theta,y4,'k-',x4-theta,-y4+2,'k-',x4+6-theta,y4,'k-',x4+6-theta,-y4+2,'k-',x5-theta,y5,'k-',x6-the ta,y6,'k-',x7-theta,y7,'k-',x5+6-theta,y5,'k-',x6+6-theta,y 6,'k-',x7+6-theta,y7,'k-',dianx,diany,'.')pause(0.1)end结果:024681012收获:通过写自行车上各骨件的程序代码及应用theta=0:pi/10:4*pi ,我们能够很好的控制自行车在水平面上匀速前进!实验八 九九乘法表内容:显示四个九九乘法表,分别以上、下、左、右三角形形式呈现。
程序:(1)fid=fopen('b.txt','w')for k=1:9for l=1:kfprintf(fid,'%d*%d=%2d ',l,k,l*k);endfprintf(fid,'\n');endfclose(fid)结果:1*1= 11*2= 2 2*2= 41*3= 3 2*3= 6 3*3= 91*4= 4 2*4= 8 3*4=12 4*4=161*5= 5 2*5=10 3*5=15 4*5=20 5*5=251*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 程序:(2)fid=fopen('a.txt','w')for k=1:9for m=1:k-1fprintf(fid,' ')endfor l=1:10-kfprintf(fid,'%d*%d=%2d ',l,10-k,l*(10-k))endfprintf(fid,'\n')endfclose(fid)结果:1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25 1*4= 4 2*4= 8 3*4=12 4*4=16 1*3= 3 2*3= 6 3*3= 9 1*2= 2 2*2= 4 1*1= 1程序:(3)fid=fopen('a.txt','w')for k=9:-1:1for m=k-1:-1:1fprintf(fid,' ')endfor l=1:10-kfprintf(fid,'%d*%d=%2d ',l,10-k,l*(10-k)) endfprintf(fid,'\n')endfclose(fid)结果:1*1= 11*2= 2 2*2= 41*3= 3 2*3= 6 3*3= 91*4= 4 2*4= 8 3*4=12 4*4=161*5= 5 2*5=10 3*5=15 4*5=20 5*5=251*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81程序:(4)fid=fopen('b.txt','w')for k=1:9for l=1:10-kfprintf(fid,'%d*%d=%2d ',l,10-k,l*(10-k)); endfprintf(fid,'\n');endfclose(fid)结果:1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=811*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*5= 5 2*5=10 3*5=15 4*5=20 5*5=251*4= 4 2*4= 8 3*4=12 4*4=161*3= 3 2*3= 6 3*3= 91*2= 2 2*2= 41*1= 1收获:通过使用for循环,我们可以得到九九乘法表的两种形式,用for m=k-1:-1:1fprintf(fid,' ')end循环嵌套语句,可以实现另外两种形式,可以实现上、下、左、右三角形式。