自定义的函数用matlab绘图方法

合集下载

matlab自定义函数拟合曲线

matlab自定义函数拟合曲线

matlab自定义函数拟合曲线在 MATLAB 中,您可以使用自定义函数进行曲线拟合。

以下是一些基本步骤,以及一个简单的示例:定义自定义函数:首先,您需要定义一个自定义函数,该函数包含您希望用于拟合的形状。

这个函数通常包含一些参数,您希望通过拟合找到的最佳值。

function y = myCustomFunction(x, a, b)% 示例自定义函数,这里假设为简单的线性函数y = a * x + b;end准备数据:提供用于拟合的数据,包括自变量 x 和因变量 y。

xData = [1, 2, 3, 4, 5];yData = [2.1, 2.8, 3.4, 4.2, 5.1];使用 fit 函数进行拟合:使用 fit 函数进行曲线拟合。

在这里,我们使用 fittype 创建一个自定义拟合类型,并使用 fit 进行拟合。

% 创建拟合类型ftype = fittype('myCustomFunction(x, a, b)', 'independent', 'x', 'coefficients', {'a', 'b'});% 初始参数猜测initialGuess = [1, 1];% 进行拟合fitResult = fit(xData', yData', ftype, 'StartPoint', initialGuess);显示拟合结果:可以使用 plot 函数来显示原始数据和拟合曲线。

plot(xData, yData, 'o', 'DisplayName', 'Data');hold on;plot(fitResult, 'DisplayName', 'Fit');legend('show');这是一个简单的线性拟合的例子,但您可以根据需要定义更复杂的自定义函数,以适应您的数据。

matlab曲面拟合自定义函数

matlab曲面拟合自定义函数

matlab曲面拟合自定义函数Matlab曲面拟合是一种常用的数据拟合方法,通过拟合数据集上的离散点,得到一个连续的曲面表示函数。

这种技术广泛应用于各个领域,包括工程、数学和科学研究等。

通常,我们使用最小二乘法来进行曲面拟合,以求最小化拟合误差。

在这篇文章中,我将介绍如何使用Matlab自定义函数进行曲面拟合。

第一步是导入数据。

在Matlab中,我们可以通过命令`load`或`xlsread`导入数据集。

假设我们有一组具有x、y和z坐标的离散点数据。

我们将使用这些数据来进行曲面拟合。

在导入数据之后,我们可以使用`scatter3`函数绘制出散点图,以便更好地观察数据的分布。

导入数据集data = load('data.xls');x = data(:,1); x坐标y = data(:,2); y坐标z = data(:,3); z坐标绘制散点图scatter3(x,y,z);第二步是定义自定义函数。

在Matlab中,我们可以使用多项式、高斯函数等各种数学函数来定义我们的自定义函数。

这个函数将近似表示曲面的形状。

在这个函数中,我们可以设置一些参数,例如多项式的阶数或高斯函数的方差。

这些参数将在拟合过程中进行调整,以达到最佳拟合效果。

在本例中,我们选择定义一个二次多项式函数来进行曲面拟合。

这个函数的形式为:f = (x,y,c) c(1) + c(2)*x + c(3)*y + c(4)*x^2 + c(5)*y^2;其中x和y是数据点的坐标,c是待定的参数向量。

这个函数用于计算曲面在每个数据点上的预测值。

第三步是使用`lsqcurvefit`函数拟合曲面。

`lsqcurvefit`是Matlab中用于非线性最小二乘拟合的函数。

我们可以通过指定自定义函数、初始参数和数据点来调用这个函数。

通过迭代,这个函数将调整参数向量c的值,以使拟合曲面与实际数据点尽可能接近。

初始化参数向量c0 = zeros(5,1);拟合曲面[c,resnorm] = lsqcurvefit(f,c0,[x,y],z);在这个例子中,我们将初始参数向量设置为全零,然后使用`lsqcurvefit`函数进行拟合。

matlab自定义函数拟合曲线

matlab自定义函数拟合曲线

matlab自定义函数拟合曲线(实用版)目录1.MATLAB 自定义函数的概述2.拟合曲线的简介3.MATLAB 自定义函数拟合曲线的步骤4.MATLAB 自定义函数拟合曲线的实例5.MATLAB 自定义函数拟合曲线的优点与局限性正文一、MATLAB 自定义函数的概述MATLAB(Matrix Laboratory)是一款广泛应用于科学计算、数据分析、可视化等领域的软件。

在 MATLAB 中,用户可以通过编写自定义函数(也称为脚本或剧本)来实现特定的功能。

自定义函数可以根据用户的需求进行定制,具有很高的灵活性和实用性。

二、拟合曲线的简介拟合曲线是指通过将一组数据点按照某种数学关系进行连接,得到一条光滑的曲线。

在 MATLAB 中,拟合曲线通常采用最小二乘法、多项式拟合等方法实现。

拟合曲线有助于更好地理解数据点的内在规律,为数据分析和预测提供参考。

三、MATLAB 自定义函数拟合曲线的步骤1.准备数据:首先需要收集一组数据点,这些数据点可以用 MATLAB 中的数组或表格表示。

2.编写自定义函数:根据拟合需求,编写 MATLAB 自定义函数。

例如,可以使用 polyfit 函数进行多项式拟合,使用 nlinfit 函数进行非线性最小二乘拟合等。

3.调用自定义函数:在 MATLAB 命令窗口或脚本中调用自定义函数,将数据点作为输入参数传递。

4.显示结果:使用 MATLAB 的绘图功能,将拟合后的曲线与原始数据点一同展示。

四、MATLAB 自定义函数拟合曲线的实例下面以多项式拟合为例,展示如何使用 MATLAB 自定义函数拟合曲线:1.准备数据:x = [1, 2, 3, 4, 5]; y = [2, 4, 5, 8, 10];2.编写自定义函数:function y_fit = polyfit_curve(x, y)% 多项式拟合n = length(x);y_fit = polyfit(x, y, 1);end3.调用自定义函数:y_fit = polyfit_curve(x, y);4.显示结果:plot(x, y, "o", x, y_fit, "-");五、MATLAB 自定义函数拟合曲线的优点与局限性优点:1.高度灵活:可以根据用户需求编写自定义函数,实现特定的拟合需求。

使用matlab绘制三维图形的方法

使用matlab绘制三维图形的方法

使用matlab绘制三维图形的方法要使用MATLAB绘制三维图形,首先需要了解MATLAB中的三维绘图函数和绘图选项。

下面将介绍一些常用的绘制三维图形的方法。

1.绘制基本的三维图形要绘制基本的三维图形,可以使用以下函数:- plot3(函数:用于在三维坐标系中绘制线条。

- scatter3(函数:用于在三维坐标系中绘制散点图。

- surf(函数:用于绘制三维曲面图。

- mesh(函数:用于绘制三维网格图。

- bar3(函数:用于绘制三维条形图。

- contour3(函数:用于绘制三维等高线图。

例如,下面的代码演示了如何使用plot3(函数绘制一个三维线条图:```x = linspace(0, 2*pi, 100);y = sin(x);z = cos(x);plot3(x, y, z, 'LineWidth', 2);xlabel('X');ylabel('Y');zlabel('Z');title('3D Line Plot');```2.添加颜色和纹理在绘制三维图形时,可以使用颜色和纹理来增加图形的信息。

MATLAB 提供了一系列函数来处理颜色和纹理,如:- colormap(函数:用于设置颜色映射。

- caxis(函数:用于设置坐标轴范围。

- shading(函数:用于设置颜色插值方法。

- texturemap(函数:用于设置纹理映射方法。

例如,下面的代码展示了如何使用纹理映射来绘制一个球体:```[X, Y, Z] = sphere(50);C = colormap('jet');surface(X, Y, Z, 'FaceColor', 'texturemap', 'CData', C);axis equal;```3.绘制多个数据集要在同一张图中绘制多个数据集,可以使用hold on和hold off命令。

matlab多种曲线的表示方法

matlab多种曲线的表示方法

matlab多种曲线的表示方法在 MATLAB 中,有多种方法可以表示和绘制多种曲线。

以下是一些常用的方法:1. 基本绘图函数: `plot()` 是最常用的绘图函数,可以绘制二维线图。

例如:```matlabx = 0::2pi; % 生成一个从0到2pi的等差数列y = sin(x); % 对x应用sin函数plot(x, y); % 绘制图形```2. 多曲线绘图: 使用 `hold on` 和 `hold off` 命令可以在同一张图上绘制多条曲线。

例如:```matlabx = 0::2pi; % 生成一个从0到2pi的等差数列y1 = sin(x); % 对x应用sin函数y2 = cos(x); % 对x应用cos函数plot(x, y1, 'r'); % 绘制红色的sin曲线hold on; % 保持当前图形,以便继续绘制其他曲线plot(x, y2, 'b'); % 绘制蓝色的cos曲线hold off; % 结束当前图形,不再绘制其他曲线```3. 参数曲线: 使用 `plotyy()` 或 `subplot()` 可以绘制参数曲线。

例如:```matlabt = 0::2pi; % 生成一个从0到2pi的等差数列r = t.exp(t); % 对t应用乘法和指数函数,模拟参数曲线c = t.exp(-t); % 对t应用乘法和指数函数,模拟另一参数曲线[ax1, h1] = plotyy(t, r, t, c); % 在两个子图上分别绘制r和cset(h1(1), 'LineWidth', 2); % 设置第一个曲线的线宽为2set(h1(2), 'LineWidth', 2); % 设置第二个曲线的线宽为2```4. 三维曲线: 使用 `plot3()` 可以绘制三维曲线。

例如:```matlabx = linspace(-5,5,100); % 生成一个从-5到5的等差数列y = sin(x); % 对x应用sin函数z = x.^2; % 对x应用平方函数plot3(x, y, z); % 绘制三维曲线```5. 定制化曲线: MATLAB 的绘图功能非常强大,可以定制化曲线的样式、颜色、线型等。

fplot绘制函数

fplot绘制函数

fplot绘制函数一、介绍在MATLAB中,我们可以使用fplot函数来绘制函数图像。

fplot函数是一个非常强大的绘图工具,它可以绘制任意一元函数的图像,并且支持自定义绘图区间和步长。

本文将详细介绍fplot函数的使用方法,并通过实例来演示如何使用fplot函数进行函数图像的绘制。

二、基本语法fplot函数的基本语法如下:fplot(fun, [xmin, xmax])其中,fun表示要绘制的一元函数,[xmin, xmax]表示要绘制的x轴范围。

三、参数设置1. 自定义步长默认情况下,fplot函数会自动选择步长,但是有时候我们需要自定义步长以获得更精确的图像。

我们可以通过设置第三个参数来实现自定义步长:fplot(fun, [xmin, xmax], 'Step', step)其中,step表示自定义步长。

2. 自定义线型和颜色我们可以通过设置第四个参数来修改线型和颜色:fplot(fun, [xmin, xmax], 'LineStyle', linestyle, 'Color', color)其中,linestyle表示线型(如'--'、':'等),color表示颜色(如'red'、'green'等)。

3. 添加标题和标签我们可以通过title和xlabel、ylabel来添加标题和标签:title('Title')xlabel('X Label')ylabel('Y Label')四、实例演示下面我们通过一个实例来演示如何使用fplot函数进行函数图像的绘制。

假设我们要绘制以下一元函数的图像:f(x) = sin(x) + cos(x)首先,我们需要定义这个函数:function y = f(x)y = sin(x) + cos(x);end然后,我们可以使用fplot函数来绘制这个函数的图像:fplot(@f, [-pi, pi])这里,@f表示将f作为参数传递给fplot函数。

Matlab中函数图形的三种绘制方法

Matlab中函数图形的三种绘制方法

Matlab中函数图形的三种绘制方法及局部和全局解
绘制函数的图形2
x
fπ区间[-1,2]
=x
)
10
sin(+
1 利用plot绘制
x=linspace(-1,2,1000);
y=x.*sin(10*pi*x)+2;
plot(x,y)
/ 函数的显式表达式,先设置自变量向量,然后根据表达式计算出函数向量/
2 利用fplot绘制
f='x.*sin(10*pi*x)+2';或f='x*sin(10*pi*x)+2';
fplot(f,[-1,2],1e-4)
/fplot函数可以自适应地对函数进行采样,能更好地反映函数的变化规律/
3 利用ezplot绘制
f='x*sin(10*pi*x)+2';
ezplot(f,[-1,2])
/隐函数绘图:如果函数用隐函数形式给出,可以利用ezplot函数绘制隐函数图形/
1和2 3的区别是2 3可以直接按照函数的原形直接写出,而1中变量相乘或除时都以点乘和点除的形式写出来的
尝试用fminbnd fminunc fminsearch及遗传算法求解上述函数在区间[-1,2]中的最小值,看看它们四个有什么不同?。

教你如何用matlab绘图(全面)

教你如何用matlab绘图(全面)

强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。

此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。

这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。

本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。

一.二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。

可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。

二维图形的绘制是其他绘图操作的基础。

一.绘制二维曲线的基本函数在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。

1.plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。

plot函数的应用格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。

例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗口中输入以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。

例52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab 画图中线型及颜色设置(2010-04-06 11:18:29)MATLAB 受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图功能.本章主要介绍 2维图形对象的生成函数及图形控制函数的使用方法,还将简单地介绍一些图形的修饰与标注函数及操作和控制 MATLAB 各种图形对象的方法. 第一节图形窗口与坐标系一.图形窗口 1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸. 2. 在 MATLAB下,每一个图形窗口有唯一的一个序号 h,称为该图形窗口的句柄.MATLAB通过管理图形窗口的句柄来管理图形窗口; 3.当前窗口句柄可以由 MATLAB 函数 gcf 获得;4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口); figure(h)----将句柄为 h的窗口设置为当前窗口; 5.打开图形窗口的方法有三种: 1)调用绘图函数时自动打开; 2)用 File---New---Figure 新建; 3)figure 命令打开,close 命令关闭.在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形. 6.窗口中的图形打印:用图形窗口的 File菜单中的 Print 项. 7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的 Edit 菜单中选择 Properties 项,打开图形对象的参数设置窗口,可以设置对象的属性. 二.坐标系1.一个图形必须有其定位系统,即坐标系;2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系; 3.每个坐标系都有唯一的标识符,即句柄值;4.当前坐标系句柄可以由 MATLAB 函数 gca 获得;5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h 为指定坐标系句柄值.6.一些有关坐标轴的函数:1)定义坐标范围:一般 MATLAB 自动定义坐标范围,如用户认为设定的不合适,可用可用:axis([Xmin, Xmax, Ymin, Ymax]) 来重新设定来重新设定; 可用 29 2)坐标轴控制:MATLAB 的缺省方式是在绘图时,将所在的坐标系也画出来,为隐去坐标系,可用 axis off;axis on 则显示坐标轴可用 (缺省值). 3)通常 MATLAB 的坐标系是长方形,长宽比例大约是4:3,为了得到一个正方形的坐标系可用:axis square4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例的坐标系,可用:axis equal第二节二维图形的绘制一. plot 函数 plot 函数是最基本的绘图函数,其基本的调用格式为: 1.plot(y)------绘制向量 y 对应于其元素序数的二维曲线图, 如果 y 为复数向量, 则绘制虚部对于实部的二维曲线图. 例:绘制单矢量曲线图. y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) 由于 y 矢量有 10个元素,x 坐标自动定义为[13 4 5 6 7 8 9 10].图形为: 12345678910 0 2 4 6 8 10 12 14 16 18 20 2.plot(x,y)------ 绘制由 x,y 所确定的曲线. 1)x,y 是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以 x 为横坐标,y 为纵坐标的图形. 如:画正弦曲线: t=0:0.1:2*pi; y=sin(t); plot(t,y) 2)当 plot(x,y)中,x 是向量,y 是矩阵时,则绘制 y 矩阵中各行或列对应于 30 向量 x的曲线.如果 y 阵中行的长度与 x 向量的长度相同,则以 y 的行数据作为一组绘图数据;如果 y阵中列的长度与 x 向量的长度相同,则以 y 的列数据作为一组绘图数据;如果 y 阵中行, 列均与 x向量的长度相同,则以 y 的每列数据作为一组绘图数据. 例:下面的程序可同时绘出三条曲线.MATLAB 在绘制多条曲线时,会按照一定的规律自动变化每条曲线的的颜色. x=0:pi/50:2*pi; y(1,:)=sin(x);y(2,:)=0.6*sin(x); y(2,:)=0.3*sin(x); plot(x,y) 或者还可以这样用: x=0:pi/50:2*pi; y=[ sin(x);0.6*sin(x); 0.3*sin(x)]; plot(x,y) 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 3)如果 x,y 是同样大小的矩阵,则 plot(x,y)绘出 y 中各列相应于 x 中各列的图形.例:x(1,:)=0:pi/50:2*pi; x(2,:)=pi/4:pi/50:2*pi+pi/4; x(3,:)=pi/2:pi/50:2*pi+pi/2;y(1,:)=sin(x(1,:)); y(2,:)=0.6*sin(x(2,:));y(3,:)=0.3*sin(x(3,:)); plot(x,y) x=x'; y=y'; figure 31 plot(x,y) 在这个例子中,x------3x101,y------3x101,所以第一个 plot 按列画出 101 条曲线,每条 3 个点;而 x'------101x3,y'------101x3,所以第二个 plot 按列画出 3 条曲线,每条 101 个点. 012345678 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 012345678 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 3.多组变量绘图:plot(x1, y1, 选项 1, x2, y2, 选项 2, ……) 上面的 plot格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.MATLAB在多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.这些选项如下表所示这些选项如下表所示: 各种颜色属性选项选项意义选项意义 'r' 红色 'm' 粉红 'g' 绿色 'c' 青色 32 'b' 兰色 'w' 白色 'y' 黄色 'k' 黑色各种线型属性选项选项意义选项意义 '-' 实线 '--' 虚线 ':' 点线 '-.' 点划线各种标记点属性选项选项意义选项意义 '.' 用点号绘制各数据点 '^' 用上三角绘制各数据点 '+' 用'+'号绘制各数据点 'v'用下三角绘制各数据点号绘制各数据点 '*' 用'*'号绘制各数据点 '>' 用右三角绘制各数据点号绘制各数据点 ' .' 用'.'号绘制各数据点 '<' 用左三角绘制各数据点号绘制各数据点 's'或 squar用正方形绘制各数据点用正方形绘制各数据点'p' 用五角星绘制各数据点或 'd'或 diamond 用菱形绘制各数据点 'h' 用六角星绘制各数据点或这些选项可以连在一起用,如表示绘制绿色的点划线,'g+'表示用绿这些选项可以连在一起用如:'-.g'表示绘制绿色的点划线表示绘制绿色的点划线表示用绿号绘制曲线. 色的 '+'号绘制曲线号绘制曲线注意:1)表示属性的符号必须放在同一个字符串中; 2)可同时指定 2~3 个属性; 3) 与先后顺序无关;4)指定的属性中,同一种属性不能有两个以上. 例:t=0:0.1:2*pi; y1=sin(t); y2=cos(t);y3=sin(t).*cos(t); plot(t,y1, '-r',t,y2, ':g',t,y3, '*b') 该程序还可以按下面的方式写: t=0:0.1:2*pi; y1=sin(t); y2=cos(t); y3=sin(t).*cos(t); plot(t,y1, '-r')hold on plot(t,y2, ':g') plot(t,y3, '*b') hold off 注:在 MATLAB中,如画图前已有打开的图形窗口,则再画图系统将自动掉坐标系中已有的图形对象,但设置了可以保持坐标系中已绘出擦掉坐标系中已有的图形对象但设置了 hold on 后,可以保持坐标系中已绘出可以保的图形. 的图形 33 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 图(a)还可以进一步设置包括线的宽度(LineWidth),标记点的边缘颜色 (MarkerEdgeColor),填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize) 等其它绘图属性.例:设置绘图线的线型,颜色,宽度,标记点的颜色及大小. t=0:pi/20:pi; y=sin(4*t).*sin(t)/2;plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为 2 设置线的宽度为'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色设置标记点边缘颜色为黑色'MarkerFaceColor','y',... %设置标记点填充颜色为黄色设置标记点填充颜色为黄色'MarkerSize',10) %设置标记点的尺寸为 10 设置标记点的尺寸为绘出图形如下: 00.511.522.533.5 -0.5 -0.4 -0.3 -0.2-0.1 0 0.1 0.2 0.3 0.4 0.5 34 4. 双 Y 轴绘图轴绘图:plotyy()函数函数. 函数其调用格式为: plotyy(x1,y1,x2,y2)------ 绘制由 x1,y1 和 x2,y2 确定的两组曲线,其中 x1, y1的坐标轴在图形窗口的左侧,x2,y2 的坐标轴在图形窗口的右侧. Plotyy(x1,y1,x2,y2,'function1','function2')------功能同上,function 是指那些绘图函数如:plot,semilogx, loglog 等. 例如:在一个图形窗口中绘制双 Y 轴曲线. x=0:0.3:12; y=exp(-0.3*x).*sin(x)+0.5;plotyy(x,y,x,y,'plot','stem') 图形如下: 024681012 0 0.5 1 1.5 024681012 0 0.5 1 1.5 stem: 绘制 stem 形式的曲线(上端带圈的竖线).绘图结果:两条图线自动用不同的颜色区分,两个坐标的颜色与图线的颜色相对应,左边的 Y 轴坐标对应的是 plot 形式的曲线,右边的 Y 坐标对应的是 stem 形式的曲线. 对数坐标图绘制函数:二.对数坐标图绘制函数对数坐标图绘制函数在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy 和 loglog 函数. 1)semilogx( )------绘制以 X 轴为对数坐标轴的对数坐标图数坐标轴的对数坐标图. 绘制以轴为对数坐标轴的对数坐标图其调用格式为:semilogx(x,y,'属性选项') 其中属性选项同 plot 函数.该函数只对横坐标进行对数变换,纵坐标仍为线性坐标. 2)semilogy( )------绘制以 Y 轴为对数坐标轴的对数坐标图绘制以轴为对数坐标轴的对数坐标图. 其调用格式为:semilogy(x,y,'属性选项') 该函数只对纵坐标进行对数变换,横坐标仍为线性坐标. 35 3)loglog( )------ 绘制 X,Y轴均为对数坐标轴的图形. 轴均为对数坐标轴的图形其调用格式为:loglog(x,y,'属性选项') 该函数分别对横,纵坐标都进行对数变换. 例:x=0:0.1:6*pi; y=cos(x/3)+1/9; subplot(221), semilogx(x,y); subplot(222), semilogy(x,y); subplot(223), loglog(x,y);还提供了一个实用的函数:logspace( )函数可按对数等间距地分函数, 4)MATLAB还提供了一个实用的函数函数布来产生一个向量,其调用格式为布来产生一个向量其调用格式为:其调用格式为 x=logspace(x1,x2,n) 这里,x1 表示向量的起点;x2 表示向量的终点;n表示需要产生向量点的个数(一般可以不给出,采用默认值 50). 在控制系统分析中一般采用这种方法来构成频率向量 w.关于它的应用后面还要讲到. 极坐标图的绘制函数: 三.极坐标图的绘制函数极坐标图的绘制函数绘极坐标图可用 polar( )函数.其调用格式如下: polar(theta, rho,'属性选项')------theta:角度向量,rho:幅值向量,属性内容与 plot 函数基本一致. 例如:极坐标模型为:3145/)/)cos((+=θρ, ],[πθ80∈则绘出极坐标图的程序为:theta=0:0.1:8*pi; p=cos((5*theta)/4)+1/3;polar(theta,p) 0.5 1 1.5 30 21060 240 90 270 120 300 150 330 1800 四. 绘制多个子图:subplot( )函数绘制多个子图函数MATLAB 允许在一个图形窗口上绘制多个子图(如对于多变量系统的输出),允许将窗口分成 nxm个部分. 分割图形窗口用 subplot 函数来实现,其调用格式为: subplot(n,m,k) 或 subplot(nmk)------n,m 分别表示将窗口分割的行数和列数, 36 k 表示要画图部分的代号,表示第几个图形,nmk三个数可以连写,中间不用符号分开. 例如:将窗口划分成 2x2=4 个部分,可以这样写:subplot(2,2,1),plot(……) subplot(2,2,2),…… subplot(2,2,3),…… subplot(2,2,4),…… 221 222 223 224 注:subplot 函数没有画图功能,只是将窗口分割. 第三节图形的修饰与标注MATLAB 提供了一些特殊的函数修饰画出的图形,这些函数如下: 1) 坐标轴的标题坐标轴的标题:title 函数其调用格式为:title('字符串字符串')------字符串可以写中文其调用格式为字符串字符串可以写中文如:title('My own plot') 2)坐标轴的说明坐标轴的说明:xlabel 和 ylabel 函数坐标轴的说明格式:xlabel('字符串字符串') 格式字符串 ylabel(' 字符串字符串') 如:xlabel('This is my X axis') ylabel('My Y axis') 3)图形说明文字图形说明文字:text 和 gtext 函数 A.text函数:按指定位置在坐标系中写出说明文字.格式为:text(x1, y1, '字符串', '选项') x1,y1 为指定点的坐标;'字符串'为要标注的文字;'选项'决定 x1,y1 的坐标单位,如没有选项,则 x1,y1 的坐标单位和图中一致;如选项为'sc', 则 x1,y1表示规范化窗口的相对坐标,其范围为 0 到 1. (1,1) 规范化窗口 (0,0) 37 如:text(1,2, '正弦曲线')B.gtext 函数:按照鼠标点按位置写出说明文字. 格式为:gtext('字符串')当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字交叉线,移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext 参数中的字符串就标注在该位置上. 4) 给图形加网格给图形加网格:grid 函数在调用时直接写 grid 即可. 上面的函数的应用实例: 例:在图形中加注坐标轴标识和标题及在图形中的任意位置加入文本. t=0:pi/100:2*pi; y=sin(t);plot(t,y),grid, axis([0 2*pi -1 1]) xlabel('0 leq itt rm leq pi','FontSize',16)ylabel('sin(t)','FontSize',20) title('正弦函数图形','FontName',' 隶书' ,'FontSize',20)text(pi,sin(pi),'leftarrowsin(t)=0','FontSize',16)text(3*pi/4,sin(3*pi/4),'leftarrowsin(t)=0.707', 'FontSize',16) text(5*pi/4,sin(5*pi/4),'sin(t)=-0.707rightarrow',... 'FontSize',16,'HorizontalAlignment','right') 画出的图形为: 0246 -1 -0.5 0 0.5 1 0≤t≤πsin(t) 正弦函数图形 ←sin(t)=0 ←sin(t)=0.707 sin(t)=-0.707→ 5) 在图形中添加图例框在图形中添加图例框:legend 函数其调用格式为: A.legend('字符串 1', '字符串 2', ……)------以字符串 1,字符串 2…… 作 38 为图形标注的图例. B.legend('字符串 1', '字符串 2', ……, pos)------pos 指定图例框显示的位置. 个显示位置: 图例框被预定了 6 个显示位置 0------ 取最佳位置取最佳位置; 右上角(缺省值 1------右上角缺省值右上角缺省值); 2------左上角左上角; 左上角 3------左下角左下角; 左下角 4------右下角; 右图的右侧. -1------图的右侧图的右侧例:在图形中添加图例. x=0:pi/10:2*pi; y1=sin(x); y2=0.6*sin(x); y3=0.3*sin(x); plot(x,y1,x,y2,'-o',x,y3,'-*') legend('曲线 1','曲线 2','曲线 3') 绘出图形如下: 02468 -1 -0.5 0 0.5 1 曲线1 曲线 2 曲线 3用鼠标点选屏幕上的点:ginput 函数 6)用鼠标点选屏幕上的点用鼠标点选屏幕上的点格式为: [x, y, button]=ginput(n)其中:n 为所选择点的个数;x,y 均为向量,x 为所选 n 个点的横坐标; y 为所选 n 个点的纵坐标. button 为 n 维向量,是所选 n 个点所对应的鼠标键的标号: 1------左键; 2------中键; 3------ 右键.可用不同的鼠标键来选点,以区别所选的点.此语句可以放在绘图语句之后,它可在绘出的图形上操作,选择你所感兴趣的点,如峰值点,达到稳态值的点等,给出点的坐标,可求出系统的性能指标. 39 第四节 MATLAB下图形对象的修改 MATLAB 图形对象是指图形系统中最基本,最底层的单元,这些对象包括:屏幕(Root),图形窗口(Figures), 坐标轴(Axes),控件(Uicontrol),菜单(Uimenu),线(Lines),块(Patches),面(Surface),图像 (Images),文本(Text)等等.根据各对象的相互关系,可以构成如下所示的树状层次: Root Figures Axes Uicontrol Uimenu Uicontextmenu (对象菜单) Images Line Patch Surface Text对各种图形对象进行修改和控制,要使用 MATLAB 的图形对象句柄 (Handle).在 MATLAB 中,每个图形对象创立时,就被赋予了唯一的标识,这个标识就是该对象的句柄.句柄的值可以是一个数,也可以是一个矢量.如每个计算机的根对象只有一个,它的句柄总是0,图形窗口的句柄总是正整数,它标识了图形窗口的序号等. 利用句柄可以操纵一个已经存在的图形对象的属性,特别是对指定图形对象句柄的操作不会影响同时存在的其它图形对象,这一点是非常重要的.一.对图形对象的修改可以用下面函数: 1)set 函数:用于设置句柄所指的图形对象的属性. Set函数的格式为: set(句柄, 属性名 1, 属性值 1, 属性名 2, 属性值 2, ……) 例:h=plot(x,y) set(h,'Color', [1,0,0])------将句柄所指曲线的颜色设为红色. 2)get函数:获取指定句柄的图形对象指定属性的当前值. 格式为:get(句柄, '属性名') 如: get(gca, 'Xcolor')------获得 X 轴的当前颜色属性值.执行后可返回 X 轴的当前颜色属性值[0,0,0](黑色). 3)如果没有设置句柄,则可以使用下列函数获得: gcf:获得当前图形窗口的句柄; gca:获得当前坐标轴对象的句柄; gco:获得当前对象的句柄. 如:A.要对图形窗口的底色进行修改,可用: set(gcf, 'Color', [1,1,1])------将图形窗口底色设为白色B.要把当前 X 轴的颜色改为绿色,可用: set(gca, 'Xcolor', [0,1,0]) 40C.还可对坐标轴的显示刻度进行定义: t=-pi:pi/20:pi; y=sin(t); plot(t,y) set(gca,'xtick',[-pi:pi/2:pi],'xticklabel',['-pi','-pi/2','0','pi/2','pi']) -pi-pi/20pi/2pi -1 -0.5 0 0.5 1本例中用'xtick'属性设置 x 轴刻度的位置(从-pi~pi,间隔 pi/2,共设置 5个点),用'xticklabel'来指定刻度的值,由于通常习惯于用角度度量三角函数, 因此重新设置['-pi','-pi/2','0','pi/2','pi']5 个刻度值. 二.一些常用的属性如下: 1)Box 属性:决定图形坐标轴是否为方框形式,选项为'on'(有方框), 'off'(无方框); 2)'ColorOrder'属性:设置多条曲线的颜色顺序,默认值为: [1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1] 黄色粉色天蓝红色绿色兰色颜色向量还有:[1 1 1]------白色;[0 0 0]------黑色. 3)坐标轴方向属性:'Xdir','Ydir','Zdir',其选项为: 'normal'------正常 'reverse'------反向 4) 坐标轴颜色和线型属性:'Xcolor','Ycolor','Zcolor'------ 轴颜色, 值为颜色向量'LineWidth'------ 轴的线宽,值为数字 'Xgrid','Ygrid','Zgrid'------坐标轴上是否加网格,值为'on'和'off'. 5)坐标轴的标尺属性:'Xtick','Ytick','Ztick'------ 标度的位置,值为向量'Xticklabel','Yticklabel','Zticklabel'------ 轴上标度的符号,它的值为与标度位置向量同样大小(向量个数相同)的向量. 5)字体设置属性:'FontAngle'------ 设置字体角度,选项为: 41 'normal'------ 正常; 'italic'------ 斜体; 'oblique'------ 倾斜; 'FontName'------ 字体名称; 'FontSize'------字号大小 'FontWeight'------ 字体的轻重,选项为:'light', 'normal','bold'。

相关文档
最新文档