数学建模培训-matlab基础讲义剖析课件

上传人:痛*** 文档编号:241400562 上传时间:2024-06-23 格式:PPT 页数:152 大小:6.41MB
返回 下载 相关 举报
数学建模培训-matlab基础讲义剖析课件_第1页
第1页 / 共152页
数学建模培训-matlab基础讲义剖析课件_第2页
第2页 / 共152页
数学建模培训-matlab基础讲义剖析课件_第3页
第3页 / 共152页
点击查看更多>>
资源描述
符号运算符号运算p 2020世纪世纪7070年代,美国新墨西哥大学计算机科学主年代,美国新墨西哥大学计算机科学主任任Cleve Cleve MolerMoler为了减轻学生编程的负担,用为了减轻学生编程的负担,用FORTRANFORTRAN编写了最早的编写了最早的MATLABMATLAB(Matrix Laboratory Matrix Laboratory)。)。p 19841984年由年由LittleLittle、MolerMoler、SteveSteve BangertBangert合作成合作成立了的立了的MathWorks公司正式把公司正式把MATLAB推向市场推向市场p到到2020世纪世纪9090年代,年代,MATLABMATLAB已成为已成为国际控制界的标准国际控制界的标准计算软件计算软件。1939p MATLAB 和和 Mathematica、Maple并称为三大数并称为三大数学软件。它在科技应用软件中学软件。它在科技应用软件中数值计算数值计算方面首屈方面首屈一指。一指。版本的更新版本的更新版本版本发布时间发布时间版本版本发布时间发布时间MATLAB 1.01984MATLAB 72004MATALB 21986MATLAB 7.0.4 2005MATLAB 31987MATLAB 7.12005MATLAB 3.51990MATLAB 7.22006MATLAB 41992MATLAB 7.32006MATLAB 4.2c1994MATLAB 7.42007MATLAB 5.01996MATLAB 7.52007MATLAB 5.11997MATLAB 7.62008MATLAB 5.1.11997MATLAB 7.72008MATLAB 5.21998MATLAB 7.82009.3.6MATLAB 5.2.11998MATLAB 7.92009.9.4MATLAB 5.31999MATLAB 7.102010.3.5MATLAB 5.3.11999MATLAB 7.112010.9.3MATLAB 6.02000MATLAB 7.122011.4.8MATLAB 6.12001MATLAB 7.132011.9.1MATLAB 6.52002MATLAB 7.142012.3.1MATLAB 6.5.12003MATLAB 8.02012.9.11MATLAB 6.5.22003MATLAB 8.12013.3.7 MATLABMATLAB软件的优点软件的优点 采用了人们采用了人们常用的数学表达方式常用的数学表达方式,拥有拥有非常友好的操作界面非常友好的操作界面,集成了计算,集成了计算,图形可视化图形可视化,程序设计等功能。程序设计等功能。MATLABMATLAB的基本数据元素是:的基本数据元素是:矩阵。MATLABMATLAB可以帮助我们解决与向量和矩阵有关的大型可以帮助我们解决与向量和矩阵有关的大型计算问题。计算问题。(如我们关心的数学建模中的海量数据如我们关心的数学建模中的海量数据)数学建模选择数学建模选择MATLAB软件原因软件原因应用范围:应用范围:信号处理、控制系统、信号处理、控制系统、神经网络、模糊逻辑、神经网络、模糊逻辑、小波分析、小波分析、模拟计算模拟计算、微分方程微分方程、图像处理图像处理等等。等等。主要由五部分组成:主要由五部分组成:1 1 开发环境开发环境2 2 函数库函数库3 3 MatlabMatlab语言语言4 4 图形绘制图形绘制5 5 应用程序接口应用程序接口2 2 安装安装:运行运行setupsetup后,输入正确的后,输入正确的序列号序列号,选择好安装路径,选择好安装路径和安装的模块,几乎是一直点下一步就可以了。和安装的模块,几乎是一直点下一步就可以了。这里有一点要注意的是,由于不同操作系统设置,可这里有一点要注意的是,由于不同操作系统设置,可能会出现一些意外错误,而且越高版本的能会出现一些意外错误,而且越高版本的MATLABMATLAB对对计算机系统的要求也越高。计算机系统的要求也越高。1 1 双击桌面双击桌面matlabmatlab快捷方式图标快捷方式图标2 2 开始开始-程序程序-matlabmatlabFile 文件菜单文件菜单Edit 编辑菜单编辑菜单Debug 调试菜单调试菜单Desktop 桌面菜单桌面菜单Window 窗口菜单窗口菜单Help 帮助菜单帮助菜单1 1 点击标题栏点击标题栏右上角关闭右上角关闭按钮按钮2 2 命令窗口键入命令窗口键入exitexit,回车,回车3 3 命令窗口键入命令窗口键入quitquit,回车,回车MATLABMATLAB的窗口组成的窗口组成 五个主要的窗口:五个主要的窗口:命令窗口命令窗口-Command Window工作空间工作空间-Workspace命令历史窗口命令历史窗口-Command History编辑窗口编辑窗口-Editor图形窗口图形窗口-Figure1 1 在在CommandCommand窗口(主命令窗口)窗口(主命令窗口)1.1 1.1 命令的输入命令的输入“”-提示符:提示符:在其后可输入你想运行的任何函数或运算。在其后可输入你想运行的任何函数或运算。回车键,运行回车键,运行;注意:注意:l变量名区分大小写,变量用英文;变量名区分大小写,变量用英文;l标点符号英文状态下;标点符号英文状态下;l不想显示运行结果可以加不想显示运行结果可以加“;”来实现;来实现;l注释符注释符“%”:注释符后的语句不运行:注释符后的语句不运行l不同语法关键词显示颜色不同。不同语法关键词显示颜色不同。1.2 1.2 命令行的编辑命令行的编辑可以进行复制、删除、粘贴、撤销等操作可以进行复制、删除、粘贴、撤销等操作但是运行过后就不能修改但是运行过后就不能修改:特别在主命令窗口,可以用特别在主命令窗口,可以用“”“”来调用前面写过的命来调用前面写过的命令令1.3 1.3 清屏,用函数清屏,用函数clcclc实现。实现。2 2 编辑器窗口编辑器窗口-editor window-editor window2.1 2.1 窗口的打开窗口的打开File-open-M FileFile-open-M File工具栏工具栏openopen按钮按钮命令窗口输入:命令窗口输入:editedit用用MATLABMATLAB语言在编辑器窗口编写的文件语言在编辑器窗口编写的文件-称为称为MM文件文件2 2 编辑器窗口编辑器窗口-editor window-editor window2.2 2.2 运行运行mm文件文件直接在主命令窗口输入此文件名即可;直接在主命令窗口输入此文件名即可;按编辑窗口工具栏中的按编辑窗口工具栏中的“run”run”按钮;按钮;快捷键:快捷键:F5.F5.运行的结果出图形外,均在运行的结果出图形外,均在“命令窗口命令窗口”显示显示.终止运行:终止运行:Ctrl+CCtrl+C 注注:MM文件的命名:英文文件的命名:英文.3 3 命令历史窗口命令历史窗口-command history windowcommand history window列出在命令窗口中执行过的命令;列出在命令窗口中执行过的命令;双击命令行,可以重新运行该命令;双击命令行,可以重新运行该命令;4 4 工作空间窗口工作空间窗口-workspace-workspace列出在内存中列出在内存中MatlabMatlab的所有变量的:的所有变量的:NAME,VALUE,SIZENAME,VALUE,SIZE等等帮助编写程序,调试程序;帮助编写程序,调试程序;注意:工作空间中的变量,当关闭注意:工作空间中的变量,当关闭MATLABMATLAB软件是不软件是不会自动保存,再打开软件变量消失,应及时保存你会自动保存,再打开软件变量消失,应及时保存你下次需要的数据,保存到下次需要的数据,保存到matmat文件中,可以以后调文件中,可以以后调用用.3.1 3.1 数据的结构和类型数据的结构和类型MatlabMatlab基本数据的结构是基本数据的结构是矩阵矩阵。特别,特别,标量(常量)可以看成标量(常量)可以看成1 1 1 1的矩阵的矩阵,向量看成向量看成1 1 n n的矩阵(列向量)。的矩阵(列向量)。3.2 3.2 简单变量及其运算简单变量及其运算MatlabMatlab中的表达式,主要由以下几部分构成:中的表达式,主要由以下几部分构成:数字Numbers变量Variables运算符Operators函数Functions比如:比如:r=(1+sqrt(5)/2,a=abs(3+4i)r=(1+sqrt(5)/2,a=abs(3+4i)3.2.1数字NumbersMatlab 中的数字采用十进制中的数字采用十进制默认的显示格式:默认的显示格式:format shortformat short(一般小数点后保一般小数点后保留四位留四位 )format format 可以修改数值的显示格式可以修改数值的显示格式3.2 3.2 简单变量及其运算简单变量及其运算formatformat命令命令MATLAB命令含 义范 例format shortformat short短格式(短格式(默默认)3.14163.1416format short eformat short e短格式科学格式短格式科学格式3.1416e+0003.1416e+000format longformat long长格式格式3.141592653589793.14159265358979format long eformat long e长格式科学格式格式科学格式3.141592653589793e3.141592653589793e+000+000format ratformat rat有理数格式有理数格式355/113355/113注:注:MATLAB中数据的保存及运算均为双精度中数据的保存及运算均为双精度.3.2.2变量MatlabMatlab中的变量在使用前中的变量在使用前不需要声明数据类型不需要声明数据类型和维数,和维数,但但需要赋初值需要赋初值。l变量名第一个字母必须为英文字母变量名第一个字母必须为英文字母,后面可以是字母数字或,后面可以是字母数字或下划线,但不能超过下划线,但不能超过3131个字符。个字符。l区分大小写区分大小写l查看变量的值,只需在主命令窗口输入变量名,回车即可。查看变量的值,只需在主命令窗口输入变量名,回车即可。3.2 3.2 简单变量及其运算简单变量及其运算3.2.2变量变量的清除变量的清除 clear clear 函数函数 用于清除当前工作间中变量用于清除当前工作间中变量 clearclear%清除当前工作间中所有变量清除当前工作间中所有变量 clearacleara%清除当前工作间中变量清除当前工作间中变量a a3.2.2变量变量的保存变量的保存savesave函数用来保存工作间中的变量函数用来保存工作间中的变量3.2.2变量变量的加载变量的加载load load 函数用于从函数用于从matmat文件中导入变量到当前工作文件中导入变量到当前工作间间 loadloadjianmojianmo%用于从用于从jianmo.matjianmo.mat文件中导文件中导入所有变量到当前工作间入所有变量到当前工作间 loadloadjianmojianmox%x%用于从用于从jianmo.matjianmo.mat文件中只文件中只导入变量导入变量x x到当前工作间到当前工作间3.2.2变量变量的导入变量的导入大量数据的导入:大量数据的导入:file-import datafile-import data注导入数存储的文件类型:注导入数存储的文件类型:excelexcel、txttxt常用的运算符:常用的运算符:-+加法加法 AdditionAddition-减法减法 SubtractionSubtraction*乘法乘法 MultiplicationMultiplication (/)除法除法 DivisionDivision 乘方乘方PowerPower()()括号括号加减乘除是计算机可以直接运算的;除此之外的运加减乘除是计算机可以直接运算的;除此之外的运算算MATLABMATLAB提供现成的函数。提供现成的函数。3.2.3 3.2.3 3.2.3 3.2.3 运算符运算符运算符运算符如:如:a=2,b=5a=2,b=5(3*a-7)*b3)/2+a5(3*a-7)*b3)/2+a5关系运算符关系运算符运 算符 号运 算符 号大于大于 小于小于=小于等于小于等于=solve(a*x2+b*x+c=0)u 求的根 f(x)=(cos x)2 的一次导数 x=sym(x);diff(cos(x)2)u 计算 f(x)=x2 在区间 a,b 上的定积分 syms a b x;int(x2,a,b)u sym 函数用来建立单个符号变量,一般调用格式为:q 符号对象的建立:sym 和 syms例:a=sym(a)符号变量=sym(a)参数 A 可以是一个数或数值矩阵,也可以是字符串a 是符号变量c 是符号矩阵 c=sym(1 ab;e d)q 符号对象的建立:sym 和 symsu syms 命令用来建立多个符号变量,一般调用格式为:syms 符号变量符号变量1 符号变量符号变量2.符号变量符号变量n 例:syms a b c a=sym(a);b=sym(b);c=sym(c);q 符号表达式的建立:例:建立符号表达式通常有以下2种方法:(1)用 sym 函数直接建立符号表达式。(2)使用已经定义的符号变量组成符号表达式。y=sym(sin(x)+cos(x)syms x;y=sin(x)+cos(x)subs(f,x,a)用用 a 替换字符函数替换字符函数 f 中的字符变量中的字符变量 x a 是可以是是可以是 数数/数值变量数值变量/表达式表达式 或或 字符变量字符变量/表达式表达式q 用给定的数据替换符号表达式中的指定的符号变量 f=sym(2*u);subs(f,u,2)f2=subs(f,u,u+2)a=3;subs(f2,u,a+2)subs(f2,u,a+2)syms x y f3=subs(f,u,x+y)subs(f3,x,y,1,2)ans=4f2=2*(u+2)ans=14ans=2*(a+2)+2)f3=2*x+2*yans=6u 例:指出下面各条语句的输出结果f=2*u下面的命令运行结果会是什么?subs(f3,x,y,x+y,x+y)q 因式分解、展开、合并、简化及通分等q 计算极限q 计算导数q 计算积分q 符号求和q 代数方程和微分方程求解u 因式分解factor(f)u 函数展开expand(f)u 合并同类项collect(f,v):按指定变量按指定变量 v 进行进行合并合并collect(f):按按默认默认变量变量进行进行合并合并limit(f,x,a):计算计算limit(f,a):当当默认变量默认变量趋向于趋向于 a时的极限时的极限limit(f):计算计算 a=0 时的极限时的极限limit(f,x,a,right):计算右极限计算右极限limit(f,x,a,left):计算左极限计算左极限例:计算例:计算 ,syms x h n;L=limit(log(x+h)-log(x)/h,h,0)M=limit(1-x/n)n,n,inf)g=diff(f,v):求符号表达式求符号表达式 f 关于关于 v 的导数的导数g=diff(f):求符号表达式求符号表达式 f 关于关于默认变量默认变量的导数的导数g=diff(f,v,n):求求 f 关于关于 v 的的n阶导数阶导数q diff syms x;f=sin(x)+3*x2;g=diff(f,x)int(f,v,a,b):计算定积分计算定积分int(f,a,b):计算关于计算关于默认变量默认变量的定积分的定积分int(f,v):计算不定积分计算不定积分int(f):计算关于计算关于默认变量默认变量的不定积分的不定积分 syms x;f=(x2+1)/(x2-2*x+2)2;I=int(f,x)K=int(exp(-x2),x,0,inf)例:计算例:计算 和和方程组求解方程组求解 solve(eqn1,.,eqnN,var1,.varM)如果想对非缺省x变量求解,solve必须指定变量。solve(a*x2+b*solve(a*x2+b*x+cx+c=0 =0 ,b )b )%solve for b%solve for bansans=-(a*x2+c)/x-(a*x2+c)/x求方程组求方程组 的解。的解。x,yx,y=solve(asolve(a*x+bx+b*y=6,3*y=6,3*x+yx+y=9*a)=9*a)例例3:求微分方程组求微分方程组 在初值条件在初值条件 下的特解。下的特解。x,y=dsolve(Dx+5*x+y=exp(t),Dy-x-3*y=0,.x(0)=1,y(0)=0,t)y=dsolve(eq1,eq2,.,cond1,cond2,.,v)q dsolve 的使用的使用y=dsolve(eq1,eq2,.,cond1,cond2,.,v)其中其中 y 为输出,为输出,eq1、eq2、.为微分方程,为微分方程,cond1、cond2、.为初值条件,为初值条件,v 为自变量。为自变量。例例 1:求微分方程求微分方程 的通解,并验证。的通解,并验证。y=dsolve(Dy+2*x*y=x*exp(-x2),x)syms x;diff(y)+2*x*y-x*exp(-x2)q 几点说明几点说明l 如果省略初值条件,则表示求通解;如果省略初值条件,则表示求通解;l 如果省略自变量,则默认自变量为如果省略自变量,则默认自变量为 t dsolve(Dy=2*x,x);dy/dx=2xdsolve(Dy=2*x);dy/dt=2xl 微分方程中用微分方程中用 D 表示对表示对 自变量自变量 的导数,如:的导数,如:Dy y;D2y y;D3y y例例 2:求微分方程求微分方程 在初值条件在初值条件 下的特解,并画出解函数的图形。下的特解,并画出解函数的图形。y=dsolve(x*Dy+y-exp(x)=0,y(1)=2*exp(1),x)ezplot(y);y=dsolve(eq1,eq2,.,cond1,cond2,.,v)练习练习1、求方程的 的根.2、求解下列非线性方程组的根3 3、求极限、导数、积分、求极限、导数、积分4 4、解下列微分方程组、解下列微分方程组(1)y=x+y,y(0)=1(2)x=2x+3y,y=2x+y,x(0)=-2.7,y(0)=2.8(3)y0.01(y)2+2y=sin(t),y(0)=0,y(0)=1(4)2x(t)-5x(t)-3x(t)=45e2t,x(0)=2,x(0)=1(5)Vanderpol方程y+(y2-1)y+y=0,y(0)=2,y(0)=0,q 关系运算符q 逻辑运算符q 程序结构控制语句q 函数M文件的编写q M文件q Matlab 编程简介u Matlab 作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算、符号计算、矩阵运算能力和丰富的绘图功能,同时也具有和 C、FORTRAN 等高级语言一样进行程序设计。u 在 Matlab 程序设计中,要充分利用 Matlab 数据结构的特点,提高编程效率。q 用 Matlab 语言编写的程序称为 M 文件,文 件以.m为扩展名。q M 文件根据调用方式的不同可以分为两类:u Script:脚本文件/命令文件 u Function:函数文件 u 在命令窗口中输入 f2cs,即可执行该 M 文件。例:编写一个脚本文件将华氏温度转化为摄氏温度clear;%清除当前工作空间中的变量f=input(Please input Fahrenheit temperature:);c=5*(f-32)/9;fprintf(The centigrade temperature is%gn,c);u 新建一个 M 文件 f2cs.m,内容如下:q 程序控制结构有三种:顺序结构、选择结构和循环结构。任何复杂的程序都由这三种基本结构组成。u 顺序结构l 按排列顺序依次执行各条语句,直到程序的最后。选择结构选择结构 是根据给定的条件成立或不成立,分别执行不同的语句。Matlab 用于实现选择结构的语句有 if 语句和 switch 语句。l 单分支结构if expression(条件)条件)statements(语句组)语句组)endif expression(条件)条件)statements1(语句组语句组1)else statements2(语句组语句组2)endl 双分支结构if expression1(条件1)statements1(语句组1)elseif expression2(条件2)statements2(语句组2).elseif expressionm(条件m)statementsm(语句组m)else statements(语句组)endl 多分支结构2024/6/23 先建立先建立M文件文件fun2.m定义函数定义函数f(x),再在),再在Matlab命令窗口输入命令窗口输入fun2(2),fun2(0.5),fun2(-1)即可。即可。练习:练习:用此结构编写输入年份判断是否闰年的程序。用此结构编写输入年份判断是否闰年的程序。l 根据表达式的不同取值,分别执行不同的语句。switch expression(表达式)表达式)case value1(表达式表达式1)statement1(语句组语句组1)case value2(表达式表达式2)statement2(语句组语句组2).case valuem(表达式表达式m)statementm(语句组语句组m)otherwise statement(语句组)语句组)end循环结构循环结构 是按照给定的条件,重复执行指定的语句。Matlab 用于实现循环结构的语句有 for 语句语句和 while 语句语句for variable=expression statement(循环体)end循环变量循环变量l 表达式 expression 可以是行向量,也可以是矩阵clear;y=0;for k=1:100 y=y+1/(2*k-1);end例:例:已知 ,当,当 n=100 时,求时,求 y的值的值while expression(条件)statement(循环体)endl 如果预先就知道循环的次数,则可以采用 for 循环;否则,如果预先无法确定循环的次数,则可以使用 while 循环。2024/6/23例:例:Fibonacci数组的元素满足Fibonacci 规则:,且现要求该数组中第一个大于10000的元素。a(1)=1;a(2)=1;i=2;while a(i)=10000 a(i+1)=a(i-1)+a(i);%当现有的元素仍小于10000时,求解下一个元素。i=i+1;end;i,a(i),i=21 ans=10946 u break 和 continuel break 语句用于终止循环的执行,即跳出最内层循环 l continue 语句用于结束本次循环,进行下一次循环 l break 和 continue 一般与 if 语句配合使用u returnl return 语句用于退出正在运行的脚本或函数,通常用在函数文件中。function 输出形参列表输出形参列表=函数名函数名(输入形参列表输入形参列表)%注释说明部分注释说明部分(可选可选)函数体语句函数体语句(必须必须)u 第一行为第一行为引导行引导行,表示该,表示该 M文件是函数文件文件是函数文件u 函数名的命名规则与变量名相同函数名的命名规则与变量名相同(必须以字母开头必须以字母开头)u 当输出行参多于一个时,用当输出行参多于一个时,用方括号方括号括起来括起来u 函数必须是一个函数必须是一个单独的单独的 M文件文件u 函数函数文件名必须与函数名一致文件名必须与函数名一致u 以以百分号百分号开始的语句为开始的语句为注释语句注释语句q 函数文件由函数文件由 function 语句引导语句引导function y=myfliplr(x)%returns X with row preserved and columns%flipped in the left/right direction%X=1 2 3 becomes 3 2 1%4 5 6 6 5 4%num_col=size(x,2);%取取 x 的列数的列数y=x(:,num_col:-1:1);myfliplr.m2024/6/231.二维图形二维图形2.三维图形三维图形3.图形处理图形处理4.特殊二、三维图形特殊二、三维图形2024/6/23Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图.命令为:plot(X,Y,Splot(X,Y,S)X,Y是向量,分别表示点集的横坐标和纵坐标线型y 黄色黄色 .点点 -连线连线m 洋红洋红 o 圈圈 :短虚线短虚线c 蓝绿色蓝绿色 x x-符号符号 -.长短线长短线 r 红色红色 +加号加号 -长虚线长虚线(1)二维曲线图)二维曲线图2024/6/23plot绘图中线宽和标记点格式设置:plot(X,Y)画实线plot(X,Y1,S1,X,Y2,S2,X,Yn,Sn)将多条线画在一起PropertyName意义选项LineWidth线宽数值,如1MarkerEdgeColor标记点边框线条颜色 颜色字符,如bMarkerFaceColor标记点内部填充颜色 颜色字符MarkerSize标记点大小数值例:2024/6/23x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,r,x,z,go)解解练习 在同一个窗口中用不同颜色不同模式画出sin(x),sin(2x),sin(3x)的图形。2024/6/23(2)符号函数符号函数(显函数、隐函数和参数方程显函数、隐函数和参数方程)画图画图1)ezplotezplot(x(t),y(t),tmin,tmax)表示在区间tminttmax绘制参数方程x=x(t),y=y(t)的函数图ezplot(f(x),a,b)表示在axb绘制显函数f=f(x)的函数图ezplot(f(x,y),xmin,xmax,ymin,ymax)表示在区间xminxxmax和 yminy t=0:.1:30;x=2*(cos(t)+t.*sin(t);y=2*(sin(t)-t.*cos(t);z=1.5*t;plot3(x,y,-z)axis equal(a t X,Y=meshgrid(-25:1:25);Z=X.2/9-Y.2/4;surf(X,Y,Z)title(马鞍面马鞍面)grid off2024/6/23u 利用利用 mesh 函数绘制函数绘制“墨西哥帽子墨西哥帽子”X,Y=meshgrid(-8:0.5:8);r=sqrt(X.2+Y.2)+eps;Z=sin(r)./r;mesh(X,Y,Z)axis square2024/6/23在图形上加格栅、图例和标注在图形上加格栅、图例和标注定制坐标定制坐标图形保持图形保持分割窗口分割窗口缩放图形缩放图形改变视角改变视角图形处理动动 画画2024/6/231)grid on 加格栅在当前图上 grid off 删除格栅2)hh=xlabel(string)在当前图形的x轴上加图例stringhh=ylabel(string)在当前图形的y轴上加图例stringhh=title(string)在当前图形的顶端上加图例stringhh=zlabel(string)在当前图形的z轴上加图例string2024/6/23例例 在区间在区间0,2*pi画画sin(x)的图形,并加注图例的图形,并加注图例“自变量自变量 X”、“函数函数Y”、“示意图示意图”,并加格栅并加格栅.解解 x=linspace(0,2*pi,30);y=sin(x);plot(x,y)xlabel(自变量自变量X)ylabel(函数函数Y)title(示意图示意图)grid on2024/6/23 命令gtext(string)用鼠标放置标注在现有的图上.运行命令gtext(string)时,屏幕上出现当前图形,在图形上出现一个交叉的十字,该十字随鼠标的移动移动,当按下鼠标左键时,该标注string放在当前十交叉的位置.例例 在区间在区间0,2*pi画画sin(x),并分别标注并分别标注“sin(x)”,”cos(x)”.解解 x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,x,z)gtext(sin(x);gtext(cos(x)2024/6/23(2)定制坐标定制坐标Axis(xmin xmax ymin ymax zmin zmax)例例 在区间在区间0.005,0.01显示显示sin(1/x)的图形。的图形。解解 x=linspace(0.0001,0.01,1000);y=sin(1./x);plot(x,y)axis(0.005 0.01 1 1)定制图形坐标将坐标轴返回到自动缺省值Axis autox、y、z的最大、最小值2024/6/23(3)图形保持图形保持 1)hold on hold of例例 将将y=sin(x)、y=cos(x)分别用点和线画出在同一屏幕上。分别用点和线画出在同一屏幕上。解解 x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,z)hold on plot(x,y)保持当前图形保持当前图形,以便继续画图到当前图上以便继续画图到当前图上释放当前图形窗口释放当前图形窗口2024/6/232)figure(h)例例 区间区间0,2*pi新建两个窗口新建两个窗口分别画出分别画出y=sin(x)和和z=cos(x)。解解 x=linspace(0,2*pi,100);y=sin(x);z=cos(x);plot(x,y);title(sin(x);pause figure(2);plot(x,z);title(cos(x);新建h窗口,激活图形使其可见,并把它置于其它图形之上2024/6/23(4)分割窗口)分割窗口h=subplot(mrows,ncols,thisplot)划分整个作图区域为mrows*ncols块(逐行对块访问)并激活第thisplot块,其后的作图语句将图形画在该块上。激活已划分为mrows*ncols块的屏幕中的第thisplot块,其后的作图语句将图形画在该块上。命令Subplot(1,1,1)返回非分割状态。subplot(mrows,ncols,thisplot)subplot(1,1,1)2024/6/23解解 x=linspace(0,2*pi,100);y=sin(x);z=cos(x);a=sin(x).*cos(x);b=sin(x)./(cos(x)+eps)subplot(2,2,1);plot(x,y),title(sin(x)subplot(2,2,2);plot(x,z),title(cos(x)subplot(2,2,3);plot(x,a),title(sin(x)cos(x)subplot(2,2,4);plot(x,b),title(sin(x)/cos(x)例例 将屏幕分割为四块,并分别画出将屏幕分割为四块,并分别画出y=sin(x),z=cos(x),a=sin(x)*cos(x),b=sin(x)/cos(x)。2024/6/23(5)缩放图形)缩放图形zoom on 单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为中心的图形放大2倍;单击鼠标右键,则缩小2倍.解解 x=linspace(0,2*pi,30);y=sin(x);Plot(x,y)zoom on 例例 缩放缩放y=sin(x)的图形的图形zoom off为当前图形打开缩放模式关闭缩放模式2024/6/23(6)改变视角改变视角view1)view(a,b)命令view(a,b)改变视角到(a,b),a是方位角,b为仰角。缺省视角为(-37.5,30)。view用空间矢量表示的,三个量只关心它们的比例,与数值的大小无关,x轴view(1,0,0),y轴view(0,1,0),z轴view(0,0,1)。2)view(x,y,z)2024/6/23 解解 x=-3:0.1:3;y=1:0.1:5;X,Y=meshgrid(x,y);Z=(X+Y).2;subplot(2,2,1),mesh(X,Y,Z)subplot(2,2,2),mesh(X,Y,Z),view(50,-34)subplot(2,2,3),mesh(X,Y,Z),view(-60,70)subplot(2,2,4),mesh(X,Y,Z),view(0,1,1)例例 画出曲面画出曲面Z=(X+Y).2在不同视角的网格图在不同视角的网格图.2024/6/23(7)动画动画 Moviein(),getframe,movie()函数函数Moviein()产生一个帧矩阵来存放动画中的帧;函数产生一个帧矩阵来存放动画中的帧;函数getframe对当前对当前的图象进行快照;函数的图象进行快照;函数movie()按顺序回放各帧。按顺序回放各帧。例例 将曲面将曲面peaks做成动画。做成动画。解解 x,y,z=peaks(30);surf(x,y,z)axis(-3 3-3 3-10 10)m=moviein(15);for i=1:15 view(-37.5+24*(i-1),30)m(:,i)=getframe;end movie(m)2024/6/23 u=0:pi/60:2*pi;v=0:pi/60:pi;U,V=meshgrid(u,v);R=3;X=R*sin(V).*cos(U);Y=R*sin(V).*sin(U);Z=R*cos(V);surf(X,Y,Z);axis equal;u 法一、利用球面的参数方程数值作图:surf 2024/6/23 ezsurf(3*sin(u)*cos(v),.3*sin(u)*sin(v),3*cos(u),.0,pi,0,2*pi);第一自变量的取值范围第一自变量的取值范围第二自变量的取值范围第二自变量的取值范围按字母顺序按字母顺序u 法二、利用球面的参数方程符号作图:ezsurf符号作图符号作图无需无需用数用数组运算组运算2024/6/23 X,Y,Z=sphere(60);R=3;X=R*X;Y=R*Y;Z=R*Z;surf(X,Y,Z);u 法三、利用 sphere 函数数值作图2024/6/23 ezsurf(3*sin(u)*cos(v),.3*sin(u)*sin(v),1*cos(u),.0,pi,0,2*pi);例:例:取取 a=3,b=3,c=12024/6/23自动截取坐标轴显示范围例:例:取取 a=3,b=4,c=5 ezsurf(3*sec(u)*cos(v),.3*sec(u)*sin(v),5*tan(u),.-pi/2,pi/2,0,2*pi);axis auto2024/6/23例:例:取取 a=3,b=4,c=5 ezsurf(3*tan(u)*cos(v),.3*tan(u)*sin(v),5*sec(u),.-pi/2,3*pi/2,0,2*pi);axis auto2024/6/23例:例:取取 a=2,b=3 ezsurf(r*2*cos(u),r*3*sin(u),.r*r/2,0,10,0,2*pi);2024/6/23例:例:取取 a=4,b=3 ezsurf(x2/42-y2/32)/2,.-4,4,-3,3);2024/6/23例:例:取取 a=3,b=5,0 t 50 ezplot3(3*cos(t),3*sin(t),5*t,.0,50);2024/6/23例:例:取取 a=2,b=2,c=3,0 t 50 ezplot3(2*t*cos(t),2*t*sin(t),.3*t,0,50);2024/6/23u 轴截面的曲边为抛物线的螺线轴截面的曲边为抛物线的螺线例:例:取取 a=2,b=2,c=1/3,0 t 50 ezplot3(2*t*cos(t),2*t*sin(t),.t2/3,0,50);2024/6/23u 用用 ezmesh 和和 ezsurf 分别绘制一个圆环面,并将它们放在一分别绘制一个圆环面,并将它们放在一个图形界面内,观察它们的不同之处。个图形界面内,观察它们的不同之处。作出下列函数图象(i)曲线y=x2 sin(x2-x-2),-2 x 2(ii)椭圆x2/4+y2/9=1(iii)抛物面z=x2+y2,x3,y3(iv)曲面 z=x4+3x2+y2-2x-2y-2x2y+6,|x|3,-3y13(v)空间曲线x=sint,y=cost,z=cos(2t),0t2练习练习
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!