Matlab程序设计与作图
- 格式:doc
- 大小:573.00 KB
- 文档页数:9
(完整版)第⼆讲Matlab编程与作图第⼆讲Matlab编程与作图第⼀部分Matlab程序设计初步Matlab除了指令⾏操作的直接交互外,作为⼀种⾼级应⽤软件还提供了⾃⼰的编程语⾔。
通过编写Matlab程序,可以更加⽅便地调⽤Matlab提供的各种功能强⼤的函数库,使得程序能完成复杂的运算处理⼤量的数值数据。
1、M⽂件简介Matlab提供了丰富的编程语⾔,使得⽤户可以将⼀连串的命令写⼊⽂件,然后使⽤简单的函数来执⾏这些命令。
⽂件被保存为⽂本⽂件,后缀为.m,⽐如说dblquad.m,因此Matlab的程序通常被称为M ⽂件。
M⽂件是⼀个⽂本⽂件,可以使⽤各种⽂本编辑器对它进⾏编辑和修改,⽐如Windows操作系统⾃带的记事本,也可以⽤Matlab 内建的M⽂件编辑器。
M⽂件分为两类,⼀类称为脚本(Scripts),类似于批处理⽂件,相当于将在Matlab命令窗⼝中执⾏的⼀系列指令放在⼀个⽂件中,当在命令窗⼝调⽤该⽂件名时,则按顺序执⾏其中的命令集。
例2.1:编写求10!的程序。
n=10;s=1;for k=1:ns=s*k;enddisp(s) %disp:MATLAB中的命令,表⽰只显⽰结果,不显⽰变量名。
另⼀类M⽂件称为函数(Function),它可以接受输⼊变量,并将运算结果送⾄输出变量,类似于数学中的函数y=f(x)。
函数M⽂件的基本结构:function f=fact(n) 函数定义⾏%Compute a factorial value. 计算阶乘的值%FACT(N) returns the factorial of N, 帮助⽂档%usually denoted by N!%Put simply,FACT(N) is PROD(1:N), 注释f=prod(1:n); 函数体例2.2:编写分段函数21() 1 -1<1321x xf x xx x>=≤+≤-%myfun1.mfunction y=myfun1(x)y=(x.^2).*(x>1)+(x>-1& x<=1)+(3+2*x).*(x<=-1);注意:1.函数名与变量名的命名法则相同,要求以字母开头,后接字母或下划线;2.函数名与保存的⽂件名最好⼀致。
利用matlab进行绘图的基本流程Matlab is a powerful software tool that is widely used for data analysis, visualization, and modeling. One of the most common tasks in Matlab is plotting graphs to visualize data in a clear and concise manner. The process of creating a plot in Matlab involves several steps, from importing data to customizing the appearance of the plot.Matlab是一种强大的软件工具,广泛用于数据分析、可视化和建模。
在Matlab中最常见的任务之一是绘制图形,以清晰、简洁的方式可视化数据。
在Matlab中创建图形的过程涉及几个步骤,从导入数据到定制绘图的外观。
The first step in plotting a graph in Matlab is to import the data that you want to visualize. This can be done by loading a data file into Matlab or by creating a matrix or array directly in the Matlab workspace. Once the data is imported, you can use Matlab's plotting functions, such as plot() or scatter(), to create the desired plot.在Matlab中绘制图形的第一步是导入您想要可视化的数据。
MATLAB图形绘制技巧与实例介绍:MATLAB是一种功能强大,广泛应用于科学计算和工程领域的软件平台。
它拥有丰富的图形绘制功能,可以用于可视化数据和传达研究成果。
本文将探讨一些MATLAB图形绘制的技巧和提供一些实例,让读者了解如何高效地利用MATLAB 绘制各种类型的图形。
一、基本绘图函数MATLAB中最基本的绘图函数是plot,它可以绘制二维图形。
可以通过指定x和y向量作为输入参数,将数据点连线绘制出来。
除了plot函数,还有其他一些常用的绘图函数,如scatter用于绘制散点图,bar用于绘制条形图,hist用于绘制直方图等。
这些函数具有丰富的参数选项,可以根据需要进行调整,以得到满意的图形效果。
二、自定义图形样式在MATLAB中,可以通过一些简单的命令实现图形样式的自定义。
例如,可以通过修改线型、颜色和点标记等属性,使得图形更加美观和易读。
除了利用内置的属性选项,还可以使用一些自定义的方法,如在plot函数中添加字符串参数来自定义线型和颜色。
三、多图绘制在某些情况下,需要在一个图形窗口中展示多个图形。
MATLAB提供了subplot函数,可以将图形窗口划分为多个小的绘图区域,并在每个区域中绘制不同的图形。
这对于比较不同数据集之间的关系或展示多个实验结果非常有用。
另外,还可以使用hold on和hold off命令,以在同一个图形窗口中绘制多个图形,并在绘制后保持图形的可编辑性。
四、3D图形绘制除了二维图形,MATLAB还支持绘制三维图形。
可以使用plot3函数将数据点绘制成三维曲线或散点图。
也可以使用mesh和surf函数绘制三维表面图,这在可视化函数和曲面的形状时非常有用。
通过调整视角和添加颜色映射等设置,可以使得3D图形更加生动和具有立体感。
五、图形标注和注释为了更好地传达和解释图形的含义,MATLAB提供了一些标注和注释功能。
可以使用xlabel、ylabel和title函数添加坐标轴标签和标题。
Matlab的图形绘制基础教程近年来,数据可视化越来越受到人们的关注。
图形绘制成为展示数据的一种重要手段。
而在众多图形绘制工具中,Matlab作为一种独特的科学计算和数据可视化软件,广泛应用于各个领域。
本文将介绍Matlab的图形绘制基础,帮助读者了解如何使用Matlab绘制各种类型的图形。
首先,我们需要了解Matlab中的基本图形对象。
Matlab中最基本的图形对象是“figure”。
通过创建“figure”,我们可以在Matlab界面上建立一个空白的图形窗口。
在这个图形窗口上,我们可以创建各种图形对象,如直线、曲线、散点图等。
要创建一个新的图形窗口,可以使用命令“figure”或者在Matlab界面点击“新建图形”按钮。
绘制图形之前,我们需要了解坐标系的概念。
Matlab中使用的是笛卡尔坐标系,横轴表示自变量,纵轴表示因变量。
通过设置坐标轴的范围和刻度,我们可以更好地展示数据。
要设置坐标轴的范围,可以使用命令“xlim”和“ylim”;要设置坐标轴的刻度,可以使用命令“xticks”和“yticks”。
接下来,我们将介绍如何在Matlab中绘制不同类型的图形。
首先是绘制线条。
Matlab提供了多种绘制线条的函数,如“plot”函数、“line”函数和“plot3”函数等。
其中,“plot”函数在二维平面上绘制折线图,而“plot3”函数在三维空间中绘制曲线图。
通过设置线条的样式、颜色和宽度,我们可以让图形更加美观。
要设置线条的样式,可以使用命令“LineStyle”;要设置线条的颜色,可以使用命令“Color”;要设置线条的宽度,可以使用命令“LineWidth”。
除了线条,我们还可以使用Matlab绘制散点图。
散点图可以直观地展示数据的分布情况。
在Matlab中,可以使用命令“scatter”绘制散点图。
通过设置散点的大小、颜色和形状,我们可以更好地展示数据的特征。
要设置散点的大小,可以使用命令“SizeData”;要设置散点的颜色,可以使用命令“CData”;要设置散点的形状,可以使用命令“Marker”。
提示:可用命令polar 。
3) 空间曲线:(4sin 20)cost,(4sin 20)sint,(020)cos 20,x t y t t z t ⎧=+⎪=+≤≤⎨⎪=⎩; 4) 环面:⎪⎩⎪⎨⎧=+=+=,sin ,sin )cos 1(,cos )cos 1(u z v u y v u x )2,0()2,0(ππ∈∈v u 。
4.建立一个命令M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
例如,153是一个水仙花数,因为153=13+53+33。
二、实验过程1、1)、实验源代码:syms x;y=(x-1)^7;x=linspace(0.988,1.012,50);y1=subs(y,x);plot(x,y1);syms x;y=expand((x-1)^7);x=linspace(0.988,1.012,50);y2=subs(y,x);plot(x,y2);2)、实验结果及分析:左图为y1的图像,右图为y2的图像,可看出两图有明显的差别,右图为一条连续的曲线,左图则为上下波动的折线,之所以产生这样的差别,应该是分成多项式后,每一项的运算都会损失一些精度,所以最后结果精度损失很大,所以图像就显得不平滑了。
2、1)、实验源代码:x=linspace(-3,3,200);y1=exp(x);plot(x,y1);hold on;y2=1+x;plot(x,y2,'y');y3=1+x+(x.^2)/2;plot(x,y3,'b');y4=1+x+(x.^2)/2+(x.^3)/6;plot(x,y4,'r');title('泰勒公式的验证');legend('y1=e^x','y2=1+x','y3=1+x+(1/2)x^2','y4= 1+x+(1/2)x2+(1/6)x^3') hold off;2)、实验结果及分析:由图像可得,当函数相加的项越多,函数图像越趋近于e^x,由此可验证泰勒公式。
Matlab绘图技巧与实例绘图在科学和工程领域中起着重要的作用,而Matlab作为一种功能强大的数学软件,具有丰富的绘图功能。
本文将介绍一些Matlab的绘图技巧,并通过一些实例来展示其用法和优势。
一、基本的绘图命令Matlab提供了一系列用于绘图的基本函数,最常用的是plot和scatter。
plot函数用于绘制曲线图,而scatter函数则用于绘制散点图。
这两个函数都可以接受多组数据,并且具有丰富的参数设置,可以对图形进行自定义。
例如,我们可以设置线条的颜色、线型和线宽,还可以添加标签和图例等。
二、特殊图形的绘制除了常见的曲线图和散点图外,Matlab还可以绘制一些特殊的图形,如柱状图、饼图和雷达图等。
这些图形可以用于展示不同类型的数据,从而更直观地呈现结果。
例如,柱状图可以用于比较不同组的数据,饼图则可以用于显示百分比等。
在绘制这些特殊图形时,Matlab提供了相应的函数,如bar、pie和polar等,使用这些函数可以轻松实现各种图形的绘制。
三、绘制3D图形Matlab还支持绘制3D图形,通过将数据在三维坐标系中表示,可以更全面地展示数据的分布和关系。
Matlab提供了许多用于绘制3D图形的函数,如plot3、scatter3和surf等。
使用这些函数可以绘制出各种复杂的3D图形,如曲面图、散点云和体积渲染等。
在绘制3D图形时,我们可以设置视角、光照和颜色等参数,从而使图形更加生动逼真。
四、图形的美化与字体设置除了绘图功能外,Matlab还提供了一些功能用于美化图形和设置字体。
通过设置标签和标题的字体、大小和颜色等,可以让图形更加清晰和美观。
此外,Matlab 还支持设置坐标轴的刻度、标签和范围,以及图形的背景颜色和边框样式等。
这些设置可以提高图形的可读性和视觉效果,从而更好地传达数据和结果。
五、图形的输出与保存Matlab不仅可以在软件中生成图形,还可以将图形输出为不同的格式,如图片文件和矢量图等。
实验一:Matlab程序设计及绘图一、实验目的1、掌握 Matlab 软件使用的基本方法;2、熟悉 Matlab 的编程方法;3、熟悉 Matlab 绘图命令及基本绘图控制。
二、实验内容1.基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π]2.基本绘图控制绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;3.程序设计:找出从2开始的前100个素数,并依次排列显示。
三、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。
MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink模型编辑窗口。
1.命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。
用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。
在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。
在命令窗口中输入该文件名,这一连串命令就被执行了。
因为这样的文件都是以“.m”为后缀,所以称为m-文件。
2.m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。
在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。
实验二 Matlab 的程序设计和基本绘图一、 实验目的1、 熟悉Matlab 绘图命令即基本绘图控制2、 熟悉Matlab 程序设计的基本方法二、 实验内容1、 基本绘图命令 (1) 绘制余弦曲线]2,0[),cos(π∈=t t y (2) 在同一坐标系绘余弦曲线)25.0cos(-=t y 和正弦曲线]2,0[),5.0cos(π∈-=t t y2、 基本绘图命令绘制]4,0[π区间上的曲线,并要求:(1) 线型为点划线,颜色为红色,数据点标记为加号;(2) 坐标轴控制:显示范围、刻度线、比例、网络线;(3) 标注控制:坐标轴名称、标题、相应文本;3、 基本程序设计(1) 编写命令文件:计算200021<+++n 时最大的n 值;(2) 编写函数文件:分别用for 和while 循环结构编写程序,求2的0到n 次幂的和;(3) 如果想对一个变量x 自动赋值,当从键盘输入y 或Y 时,x 自动赋为1;当从键盘输入n 或N 时,x 自动赋为0;输入其他字符时终止程序;三、 课后练习1、设x x x y cos 1sin 35.02⎥⎦⎤⎢⎣⎡++=,在π2~0=x 区间取101点,绘制函数的曲线。
2、已知213221),2cos(,y y y x y x y ⨯===,完成下列操作:(1) 在同一坐标系下用不同的颜色和线型绘制三条曲线。
(2) 以子图形式绘制三条曲线。
3、已知⎪⎪⎩⎪⎪⎨⎧>++≤+=0)1ln(21022x x x x e x y π 在55≤≤-x 区间绘制函数曲线。
4、 绘制两个球面,其中一个球在另一个球里面,将外面的球裁掉一部分,使得能看见里面的球。
5、计算。
其中1,)12()!(2)!2(54163134arcsin ,arcsin 122252<+++⨯⨯⨯⨯+⨯+≈+x n x n n x x x x x n n x 为输入参数,当x 不满足条件时就不计算,并显示提示;当12+n x 前的系数<0.00001时,则循环结束。
Matlab绘图及程序设计实验⽬的:1.掌握Matlab的控制语句2.熟悉数组运算3.Matlab图形处理功能4.Matlab程序初步设计实验要求:1.学习了解Matlab的控制语句,for,while,if等2.练习数组的运算,如加减乘,变维,矩阵的逆等3.练习⼆维,三维图形的画图和处理实验内容:1.MATLAB的控制流(语句):顺序结构、if-else-end分⽀结构、swtich-case、try-catch结构、for循环结构、while循环结构。
2.数组的运算:数组的创建和操作、数组的常见运算。
3.图形绘制:离散数据及离散函数、连续函数。
4.设计⼀个多项式估值程序。
实验步骤: 1.顺序结构是MATLAB程序中最基本的结构,表⽰程序中的各种操作是按照他们出现的先后顺序执⾏的。
例如,计算矩形⾯积,输⼊如下代码: 快捷键【Crtl+S】保存,⾃命名“Untitled”(可⾃⼰定义名称)单击⼯具栏上的“运⾏”图标,结果如下: if-else-end指令为程序提供了⼀种分⽀结构,该结构的形式根据实际情况的不同⽽不同。
分⽀结构的简单运⽤⽰例: 调⽤该程序,输⼊x的值,得到如下结果: switch-case语句执⾏基于变量或表达式值的语句组,关键字case和otherwise⽤于描述语句组,只执⾏第⼀个匹配的情形。
⽤到switch则必须⽤end搭配。
求任意底数的对数函数值⽰例: 结果如下: for循环结构是针对⼤型运算相当有效的运算⽅法,for循环重复执⾏⼀组语句⼀个预先给定的次数,匹配end描述该语句。
利⽤for循环求解从1加到100的和: 2.数组的创建和操作:在MATLAB中⼀般使⽤⽅括号“[ ]”、逗号“,”、空格和分好“;”来创建数组,数组中同⼀⾏的元素使⽤逗号或空格进⾏隔开,不同⾏之间⽤分好进⾏分隔。
创建空数组、⾏向量、列向量⽰例: 在数组的常见运算,加减乘除⽰例: 结果部分截图: 3.离散数据,⼀个⼆元实数标量对(x,y)可以⽤平⾯上的点来表⽰。
实验三 MATLAB 的图形绘制和程序设计一、实验目的1.学习 MATLAB 图形绘制的基本方法;2.熟悉和了解 MATLAB 图形绘制程序编辑的基本指令;3. 熟悉 MATLAB 程序编辑与设计环境;4. 掌握各种编程语句语法规则及程序设计方法二、实验内容1.在同一图形窗口中绘制12()sin(2),()cos(2),02y t t y t t t π==<<的函数曲线(标记两条曲线的颜色、线型和数据点),添加标题和网格线,并分别应用text 、gtext 、legend 指令进行相应的文字标注。
(参考例2-17) t=0:pi/36:2*pi;y1=sin(2*t);y2=cos(2*t);plot(x,y1,'b:.')hold onplot(x,y2,'k:*')legend('y1=sin(2*t)','y2=con(2*t)')gtext('y1=sin(2*t)')gtext('y2=con(2*t)')text(1,0.5,'(1,0.5)')xlabel('x'),ylabel('y')title('同一窗口下显示sin (),cos ()曲线')grid2.在两个窗口中分别绘制12()2sin(2),()cos(3),02y t t y t t t π==<<,并对坐标进行标注、添加标题和网格线。
t=0:pi/36:2*pi;y1=sin(2*t);figure(1);plot(x,y1,'r:.');title('y1=sin(t)')grid;xlabel('x');ylabel('y1');y2=cos(2*t);figure(2);plot(x,y1,'k:*');title('y2=cos(t)')grid;xlabel('x');ylabel('y2');3.将一个图形窗口分割为四个显示窗口,分别绘制1 2 3 4()sin(2)()cos(3)02 ()sin(2)cos(3)()sin(2)cos(3)y t ty t tt y t t ty t t t π=⎧⎪=⎪<<⎨=+⎪⎪=-⎩的图形。
学生实验报告
学院:软件与通信工程学院
课程名称:数学建模与数学实验
专业班级:
姓名:
学号:
学生实验报告(1)
一、实验综述
1、实验目的及要求
熟悉MATLAB 软件的用户环境;了解MATLAB 软件的一般命令;掌握MATLAB 向量、数组、矩阵操作与运算函数;掌握MATLAB 软件的基本绘图命令;掌握MATLAB 语言的几种循环、条件和开关选择结构,及其编程规范。
通过该实验的学习,使学生能灵活应用MATLAB 软件解决一些简单问题,能借助MATLAB 软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。
2、实验仪器、设备或软件 电脑,Matlab 软件
二、实验过程(实验步骤、记录、数据、分析)
1. 已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=321212113A , ⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡--=101012111B 要求:(1)屏幕输出A 与B ;(2)A 的转置A′;(3)求A+B 的值;(4)求A-B 的值;(5)求4A ;(6)求A×B ;(7)求A -1.
代码:(1)
A=[3 1 1;2 1 2;1 2 3] B=[1 1 -1;2 -1 0;1 0 1]
结果:A =
3 1 1
2 1 2
1 2 3
B =
1 1 -1
2 -1 0
1 0 1
(2)
A=[3 1 1;2 1 2;1 2 3];
A'
结果:ans =
3 2 1
1 1 2
1 2 3
(3)
A=[3 1 1;2 1 2;1 2 3];
B=[1 1 -1;2 -1 0;1 0 1]; A+B
结果:ans =
4 2 0
4 0 2
2 2 4
(4)
A=[3 1 1;2 1 2;1 2 3];
B=[1 1 -1;2 -1 0;1 0 1]; A-B
结果:ans =
2 0 2
0 2 2
0 2 2
(5)
A=[3 1 1;2 1 2;1 2 3];
4*A
结果:ans =
12 4 4
8 4 8
4 8 12
(6)
A=[3 1 1;2 1 2;1 2 3];
B=[1 1 -1;2 -1 0;1 0 1]; A*B
结果:ans =
6 2 -2
6 1 0
8 -1 2
(7)
A=[3 1 1;2 1 2;1 2 3];
inv(A)
结果:ans =
0.2500 0.2500 -0.2500
1.0000 -
2.0000 1.0000
-0.7500 1.2500 -0.2500
2. 有一函数f(x,y)=x2+sin xy+2y,写一程序,输入自变量的值,输出函数值。
function f=fun(x,y)
x=input('please input x=');
y=input('please input y=');
f=x^2+sin(x*y)+2*y
实验结果:
please input x=1
please input y=2
f =
5.9093
ans =
5.9093
3.用plot,fplot分别绘制函数y=cos(tan( x))图形。
(1)x=0:0.01:6;
y=cos(tan(pi*x));
plot(x,y);
xlabel('x');
title('y=cos(tan(pi*x))');
axis([0 6 -1 1])
y=cos(tan(pi*x))
0123456
x
(2)function y=myfun(x);
y=cos(tan(pi*x));
>> fplot('myfun',[0,6])
1
2
3
4
5
6
4. 绘制函数⎪⎩⎪⎨⎧-=-=)
cos 1()
sin (3
3
t a y t t a x 在]2,0[π∈t 上的图形。
a=input('please input a=');
ezplot('t-sin(t^3)','1-(cos(t))^3',[0,2*pi]) please input a=3
x
y
x = t-sin(t 3), y = 1-(cos(t))3
5. 作出下列曲面的三维图形:
⎪⎪⎩⎪⎪⎨
⎧∈∈=+=+=)2,0(),2,0(,sin ,sin )cos 1(,cos )cos 1(ππv u u z v u y v u x u=0:0.1:2*pi; v=0:0.1:2*pi;
[u,v]=meshgrid(u,v); x=(1+cos(u)).*cos(v); y=(1+cos(u)).*sin(v); z=sin(u); surf(x,y,z)
-2
2
6.建立一个M 文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
例如:153是一个水仙花数,因为153=13+53+33。
x=[];
for i=100:999
n1=fix(i/100);
n2=fix((i-n1*100)/10); n3=i-n1*100-n2*10; if (n1^3+n2^3+n3^3)==i x=[x i]; end
end
x
实验结果:
x =
153 370 371 407
三、结论
1、实验结果
见上图
2、分析讨论
(1)Matlab软件有着很丰富的数学函数功能,并且能够精确地显示出数学函数的图像。
(2)通过本次试验加强了解了Matlab软件的基本绘图命令,掌握Matlab语言的几种循环、条件和编程规范。
(3)这次实验中,遇到了一些编程上的困难,最后一题的水仙花数程序,就查阅了大量的资料和参照题型,应该加强基础。
四、指导教师评语及成绩:
评语:
成绩:指导教师签名:
批阅日期:。