5. MATLAB的图形功能 5.1 二维图形的绘制 基本形式

Slides:



Advertisements
Similar presentations
数值分析 第五节 数值微分 在实际问题中,往往会遇到某函数 f(x) 是用表格 表示的, 用通常的导数定义无法求导, 因此要寻求其他 方法近似求导。常用的数值微分方法有 : 一. 运用差商求数值微分 二.运用插值函数求数值微分 三. 运用样条插值函数求数值微分 四. 运用数值积分求数值微分.
Advertisements

一、 一阶线性微分方程及其解法 二、 一阶线性微分方程的简单应用 三、 小结及作业 §6.2 一阶线性微分方程.
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
2.6 隐函数微分法 第二章 第二章 二、高阶导数 一、隐式定义的函数 三、可微函数的有理幂. 一、隐函数的导数 若由方程 可确定 y 是 x 的函数, 由 表示的函数, 称为显函数. 例如, 可确定显函数 可确定 y 是 x 的函数, 但此隐函数不能显化. 函数为隐函数. 则称此 隐函数求导方法.
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
第二章 导数与微分 一. 内 容 要 点 二. 重 点 难 点 三. 主 要 内 容 四. 例 题与习题.
8.1 不定积分的概念和基本积分公式  原函数和不定积分  基本积分公式表  不定积分的线性运算法则 第八章 不定积分.
《解析几何》 乐山师范学院 0 引言 §1 二次曲线与直线的相关位置.
第三章 函数逼近 — 最佳平方逼近.
数学软件 Matlab —— 二维平面作图 —— 三维空间作图.
恰当方程(全微分方程) 一、概念 二、全微分方程的解法.
一、原函数与不定积分 二、不定积分的几何意义 三、基本积分公式及积分法则 四、牛顿—莱布尼兹公式 五、小结
第四章 函数的积分学 第六节 微积分的基本公式 一、变上限定积分 二、微积分的基本公式.
§5.3 定积分的换元法 和分部积分法 一、 定积分的换元法 二、 定积分的分部积分法 三、 小结、作业.
第四章 一元函数的积分 §4.1 不定积分的概念与性质 §4.2 换元积分法 §4.3 分部积分法 §4.4 有理函数的积分
数值计算的工具—MATLAB 电子计算机技术为应用数学解决实际问题创造了物质条件 。
第四节 一阶线性微分方程 线性微分方程 伯努利方程 小结、作业 1/17.
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
第七讲 MATLAB的符号计算.
MATLAB、CTEX简介 及其 在教学中的应用
Application of Matlab Language
第4章 MATLAB绘图 4.1 MATLAB二维曲线绘图 基本绘图指令 1.plot(Y) 功能:画一条或多条折线图.
元素替换法 ——行列式按行(列)展开(推论)
用函数观点看方程(组)与不等式 14.3 第 1 课时 一次函数与一元一次方程.
计算机数学基础 主讲老师: 邓辉文.
§2 求导法则 2.1 求导数的四则运算法则 下面分三部分加以证明, 并同时给出相应的推论和例题 .
数学模型实验课(三) 插值与三维图形.
数学建模与数学实验 MATLAB作图.
Matlab 选讲 二 上海交通大学数学系 刘小军
第三单元 第4课 Matlab数据插值 1.一维插值 2.二维插值 3.对非网格数据进行插值.
插值与拟合 一、插值的基本原理 二、拟合的基本原理 三、插值与拟合的关系 四、插值的MATLAB实现 五、拟合的Matlab实现.
第一章 函数与极限.
数列.
1.函数 2.程序 3.图形 目的:掌握Matlab作平面曲线图的方法与技巧
Partial Differential Equations §2 Separation of variables
第二章 函数 插值 — 分段低次插值.
第二十二章 曲面积分 §1 第一型曲面积分 §2 第二型曲面积分 §3 高斯公式与斯托克斯公式.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
Z Mathematical Model ‡ ' 图形处理.
第二章 MATLAB编程与作图 2.1 程序设计 2.2 作图 2.3 在线帮助和文件管理 2.4 习题 2019年4月23日
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
相关与回归 非确定关系 在宏观上存在关系,但并未精确到可以用函数关系来表达。青少年身高与年龄,体重与体表面积 非确定关系:
第二节 MATLAB 图形处理 内容: §1 二维图形显示 §2 图形可视编辑工具 §3 三维图形显示 §4 视角变换与三视图
第一节 不定积分的概念与性质 一、原函数与不定积分的概念 二、不定积分的几何意义 三、基本积分表 四、不定积分的性质 五、小结 思考题.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
一 般 的 代 数 方 程 函数solve用于求解一般代数方程的根,假定S为符号表达式,命令solve (S)求解表达式等于0的根,也可以再输入一个参数指定未知数。例: syms a b c x S=a*x^2+b*x+c; solve(S) ans = [ 1/2/a*(-b+(b^2-4*a*c)^(1/2))]
建模常见问题MATLAB求解  .
第二章 函 数 插 值 — 三次样条插值.
2.2矩阵的代数运算.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
高中数学选修 导数的计算.
第二节 函数的极限 一、函数极限的定义 二、函数极限的性质 三、小结 思考题.
正弦、余弦函数的性质 华容一中 伍立华 2017年2月24日.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
正弦函数的性质与图像.
回归分析实验课程 (实验三) 多项式回归和定性变量的处理.
§ 9.1常用数学软件简介及MATLAB基础知识
实验一 特殊函数与图形.
实验二 MATLAB绘制图形.
三角 三角 三角 函数 余弦函数的图象和性质.
数学模型实验课(二) 最小二乘法与直线拟合.
西南科技大学网络教育系列课程 数学软件 数学软件 第7讲 MATLAB符号计算二 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
* 07/16/ 天津市第七十四中学 李家利 *.
第一节 不定积分的概念与性质 原函数与不定积分的概念 基本积分表 不定积分的性质 小结、作业 1/22.
Matlab插值与拟合 插值 拟合.
9.3多项式乘多项式.
Presentation transcript:

5. MATLAB的图形功能 5.1 二维图形的绘制 5.1.1 基本形式 5.1 二维图形的绘制 5.1.1 基本形式 二维图形的绘制是MATLAB语言图形处理的基础,MATLAB最常用的画二维图形的命令是plot,看两个简单的例子: >> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的图形见右图,是以序号为横坐标、数组y的数值为纵坐标画出的折线。

>> x=linspace(0,2*pi,30); % 生成一组线性等距的数值 >> y=sin(x); >> plot(x,y) 生成的图形见下图,是上30个点连成的光滑的正弦曲线。

5.1.2 多重线 在同一个画面上可以画许多条曲线,只需多给出几个数组,例如 >> x=0:pi/15:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) 则可以画出右图。 多重线的另一种画法是利用hold命令。在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。例如: >> x=linspace(0,2*pi,30); y=sin(x); plot(x,y) 先画好前面的图,然后用下述命令增加cos(x)的图形,也可得到上图。 >> hold on >> z=cos(x); plot(x,z) >> hold off

5.1.3 线型和颜色 MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下: 线型 线方式: - 实线 :点线 -. 虚点线 - - 波折线。 线型 点方式: . 圆点 +加号 * 星号 x x形 o 小圆 颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青. 以下面的例子说明用法: >> x=0:pi/15:2*pi; >> y1=sin(x); y2=cos(x); >> plot(x,y1,’b:+’,x,y2,’g-.*’) 可得下图。

5.1.4 网格和标记 在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。 >> x=linspace(0,2*pi,30); y=sin(x); z=cos(x); >> plot(x,y,x,z) >> grid >> xlabel(‘Independent Variable X’) >> ylabel(‘Dependent Variables Y and Z’) >> title(‘Sine and Cosine Curves’) 它们产生右图。 也可以在图形的任何位置加上一个字符串,如用: >> text(2.5,0.7,’sinx’) 表示在坐标x=2.5, y=0.7处加上字符串sinx。更方便的是用鼠标来确定字符串的位置,方法是输入命令: >> gtext(‘sinx’) 在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字符串放在那里。

5.1.5 坐标系的控制 在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有: axis([xmin xmax ymin ymax]) [ ]中分别给出x轴和y轴的最大值、最小值 axis equal 或 axis(‘equal’) x轴和y轴的单位长度相同 axis square 或 axis(‘square’) 图框呈方形 axis off 或 axis(‘off’) 清除坐标刻度 还有axis auto axis image axis xy axis ij axis normal axis on axis(axis)用法可参考在线帮助系统。

5.1.6 多幅图形 可以在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;把一个画面分成m×n个图形区域, p代表当前的区域号,在每个区域中分别画一个图,如 >> x=linspace(0,2*pi,30); y=sin(x); z=cos(x); >> u=2*sin(x).*cos(x); v=sin(x)./cos(x); >> subplot(2,2,1),plot(x,y),axis([0 2*pi –1 1]),title(‘sin(x)’) >> subplot(2,2,2),plot(x,z),axis([0 2*pi –1 1]),title(‘cos(x)’) >> subplot(2,2,3),plot(x,u),axis([0 2*pi –1 1]),title(‘2sin(x)cos(x)’) >> subplot(2,2,4),plot(x,v),axis([0 2*pi –20 20]),title(‘sin(x)/cos(x)’)

共得到4幅图形,见下 图。

5.2 三维图形的绘制 5.2.1 带网格的曲面 例 作曲面z=f(x,y)的图形 用以下程序实现: 5.2 三维图形的绘制 5.2.1 带网格的曲面 例 作曲面z=f(x,y)的图形 用以下程序实现: >> x=-7.5:0.5:7.5; >> y=x; >> [X,Y]=meshgrid(x,y); (3维图形的X,Y数组) >> R=sqrt(X.^2+Y.^2)+eps; (加eps是防止出现0/0) >> Z=sin(R)./R; >> mesh(X,Y,Z) (3维网格表面) 画出的图形如右图. mesh命令也可以改为surf, 只是图形效果有所不同。

5.2.2 空间曲线 例 作螺旋线 x=sint, y=cost, z=t 用以下程序实现: 5.2.2 空间曲线 例 作螺旋线 x=sint, y=cost, z=t 用以下程序实现: >> t=0:pi/50:10*pi; >> plot3(sin(t),cos(t),t) (空间曲线作图函数, 用法类似于plot) 画出的图形如图。

5.3 图形的输出 5.2.3 等高线 5.2.4 三维直方图 bar3() 5.2.5 三维饼图 pie3() 5.2.3 等高线 用contour 或 contour3 画曲面的等高线,如对图5-7的曲面, 在上面的程序后接 contour(X,Y,Z,10) 即可得到10条等高线。 5.2.4 三维直方图 bar3() 5.2.5 三维饼图 pie3() 5.3 图形的输出 在数学建模中,往往需要将产生的图形输出到Word文档中。通常可采用下述方法: 首先,在MATLAB图形窗口中选择【File】菜单中的【Export】选项,将打开图形输出对话框,在该对话框中可以把图形以emf、bmp、jpg、pgm等格式保存。然后,再打开相应的文档,并在该文档中选择【插入】菜单中的【图片】选项插入相应的图片即可。

6. MATLAB的应用 6.1 MATLAB在数值分析中的应用 6.1.1 分段线性插值 插值与拟合是来源于实际、又广泛应用于实际的两种重要方法。随着计算机的不断发展及计算水平的不断提高,它们已在国民生产和科学研究等方面扮演着越来越重要的角色。下面对插值中分段线性插值、拟合中的最为重要的最小二乘法拟合加以介绍。 6.1.1 分段线性插值 所谓分段线性插值就是通过插值点用折线段连接起来逼近原曲线,这也是计算机绘制图形的基本原理。实现分段线性插值不需编制函数程序,MATLAB自身提供了内部函数interp1其主要用法如下: interp1(x,y,xi) 一维插值 ◆ yi=interp1(x,y,xi) 对一组点(x,y) 进行插值,计算插值点xi的函数值。x为节点向量值,y为对应的节点函数值。如果y 为矩阵,则插值对y 的每一列进行,若y 的维数超出x 或 xi 的维数,则返回NaN。 ◆ yi=interp1(y,xi) 此格式默认x=1:n ,n为向量y的元素个数值,或等于矩阵y的size(y,1)。

◆ yi=interp1(x,y,xi,’method’) ● nearest 线性最近项插值。 ● linear 线性插值。 ● spline 三次样条插值。 ● cubic 三次插值。 所有的插值方法要求x是单调的。x 也可能并非连续等距的。 正弦曲线的插值示例: >> x=0:0.1:10; >> y=sin(x); >> xi=0:0.25:10; >> yi=interp1(x,y,xi); >> plot(x,y,’0’,xi,yi) 则可以得到相应的插值曲线。 Matlab也能够完成二维插值的运算,相应的函数为interp2,使用方法与interpl基本相同,只是输入和输出的参数为矩阵,对应于二维平面上的数据点,详细的用法见Matlab联机帮助。

6.1.2 最小二乘法拟合 在科学实验的统计方法研究中,往往要从一组实验数据中寻找出自变量x 和因变量y之间的函数关系y=f(x) 。由于观测数据往往不够准确,因此并不要求y=f(x)经过所有的点 ,而只要求在给定点上误差按照某种标准达到最小,通常采用欧氏范数作为误差量度的标准。这就是所谓的最小二乘法。在MATLAB中实现最小二乘法拟合通常采用polyfit函数进行。 函数polyfit是指用一个多项式函数来对已知数据进行拟合,我们以下列数据为例介绍这个函数的用法: >> x=0:0.1:1; >> y=[ -0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2 ] 为了使用polyfit,首先必须指定我们希望以多少阶多项式对以上数据进行拟合,如果我们指定一阶多项式,结果为线性近似,通常称为线性回归。我们选择二阶多项式进行拟合。

>> P= polyfit (x, y, 2) -9.8108 20.1293 -0.0317 函数返回的是一个多项式系数的行向量,写成多项式形式为: 为了比较拟合结果,我们绘制两者的图形: >> xi=linspace (0, 1, 100); %绘图的X-轴数据。 >> Z=polyval (p, xi); %得到多项式在数据点处的值。 当然,我们也可以选择更高幂次的多项式进行拟合,如10阶: >> p=polyfit (x, y, 10); >> xi=linspace (0, 1,100); >> z=ployval (p, xi); 读者可以上机绘图进行比较,曲线在数据点附近更加接近数据点的测量值了,但从整体上来说,曲线波动比较大,并不一定适合实际使用的需要,所以在进行高阶曲线拟合时,“越高越好”的观点不一定对的。

6.2 符号工具箱及其应用 在数学应用中,常常需要做极限、微分、求导数等运算,MATLAB称这些运算为符号运算。MATLAB的符号运算功能是通过调用符号运算工具箱(Symbolic Math Toolbox)内的工具实现,其内核是借用Maple数学软件的。MATLAB的符号运算工具箱包含了微积分运算、化简和代换、解方程等几个方面的工具,其详细内容可通过MATLAB系统的联机帮助查阅,本节仅做简单介绍。 6.2.1 符号变量与符号表达式 MATLAB符号运算工具箱处理对象主要是符号变量与符号表达式。要实现符号运算,首先要将处理对象定义为符号变量或符号表达式,定义格式如下: 格式1: sym (‘变量名’) 或 sym (‘表达式’) 功能: 定义一个符号变量或符号表达式。 例如: >> sym (‘x’) % 定义变量x为符号变量 >> sym(‘x+1’) % 定义表达式x+1为符号表达式 格式2: syms 变量名1 变量名2 …… 变量名n 功能: 定义变量名1、变量2 ……、变量名 n为符号变量。 >> syms a b x t % 定义a,b, x,t 均为符号变量

6.2.2 微积分运算 1、极限 格式:limit (f, t, a, ‘left’ or ‘right’) 功能:求符号变量t 趋近a 时,函数f 的(左或右)极限。‘left’ 表示求左极限,‘right’ 表示求右极限,省略时表示求一般极限;a省略时变量t 趋近0; t省略时默认变量为x ,若无x则寻找(字母表上)最接近字母x 的变量。 例如:求极限的命令及结果为: >> syms x t >> limit ((1+2*t/x)^(3*x) , x, inf ) ans= exp(6*t) 再如求函数x / |x| ,当时的左极限和右极限,命令及结果为: >> syms x >> limit(x/abs(x), x, 0, ’left’) ans = -1 >> limit(x/abs(x),x, 0, ’right’) ans = 1

2、导数 格式: diff (f,t,n) 功能: 求函数f 对变量 t的n 阶导数。当n省略时,默认 n=1;当t省略时,默认变量x, 若无x时则查找字母表上最接近字母x 的字母。 例如:求函数f=a*x^2+b*x+c对变量 x的一阶导数, 命令及结果为 >> syms a b c x >> f=a*x^2+b*x+c; >> diff(f) ans= 2*a*x+b 求函数f 对变量b的一阶导数(可看作求偏导), 命令及结果为 >> diff(f,b) ans=x 求函数f 对变量x的二阶导数, 命令及结果为 >> diff(f,2) ans=2*a

3、积分 格式: int(f,t,a,b) 功能: 求函数f 对变量 t从a 到b的定积分. 当a和b省略时求不定积分;当t省略时, 默认变量为(字母表上)最接近字母x的变量。 例如:求函数f=a*x^2+b*x+c对变量x不定积分, 命令及结果为 >> syms a b c x >> f=a*x^2+b*x+c; >> int(f) ans= 1/3*a*x^3+1/2*b*x^2+c*x 求函数f 对变量b不定积分, 命令及结果为 >> int(f,b) a*x^2*b+1/2*b^2*x+c*b 求函数f 对变量x 从 1到5的定积分, 命令及结果为 >> int(f,1,5) 124/3*a+12*b+4*c

4、级数求和 格式: symsum (s,t,a,b) 功能:求表达式s中的符号变量t从第a项到第b项的级数和。 例如: 求级数的前三项的和, 命令及结果为 >> symsum(1/x,1,3) ans=11/6

6.2.3 化简和代换 MATLAB符号运算工具箱中,包括了较多的代数式化简和代换功能,下面仅举出部分常见运算。 simplify 利用各种恒等式化简代数式 expand 将乘积展开为和式 factor 把多项式转换为乘积形式 collect 合并同类项 horner 把多项式转换为嵌套表示形式 例如:进行合并同类项执行 >> syms x >> collect(3*x^3-0.5*x^3+3*x^2) ans= 5/2*x^3+3*x^2) 进行因式分解执行 >> factor(3*x^3-0.5*x^3+3*x^2) 1/2*x^2*(5*x+6)

6.2.4 解方程 1、代数方程 格式:solve (f,t) 6.2.4 解方程 1、代数方程 格式:solve (f,t) 功能:对变量t 解方程f=0,t 缺省时默认为x 或最接近字母x 的符号变量。 例如:求解一元二次方程f=a*x^2+b*x+c的实根, >> syms a b c x >> f=a*x^2+b*x+c; >> solve (f,x) ans= [1/2/a*(-b+(b^2-4*a*c)^ (1/2))] [1/2/a*(-b-(b^2-4*a*c)^ (1/2))] 2、微分方程 格式:dsolve(‘s’, ’s1’, ’s2’,…, ’x’) 其中s为方程;s1,s2,……为初始条件,缺省时给出含任意常数c1,c2,……的通解;x为自变量,缺省时默认为t 。 例如:求微分方程的通解 >> dsolve(‘Dy=1+y^2’) tan(t+c1)