MATLAB绘制二元函数图形

合集下载

(完整版)实验五用matlab求二元函数的极值

(完整版)实验五用matlab求二元函数的极值

实验五 用matlab 求二元函数的极值1.计算二元函数的极值对于二元函数的极值问题,根据二元函数极值的必要和充分条件,可分为以下几个步骤: 步骤1.定义二元函数),(y x f z =.步骤2.求解方程组0),(,0),(==y x f y x f y x ,得到驻点.步骤3.对于每一个驻点),(00y x ,求出二阶偏导数22222,,.z z z A B C x x y y ∂∂∂===∂∂∂∂ 步骤4. 对于每一个驻点),(00y x ,计算判别式2B AC -,如果02>-B AC ,则该驻点是极值点,当0>A 为极小值, 0<A 为极大值;如果02=-B AC ,需进一步判断此驻点是否为极值点; 如果02<-B AC 则该驻点不是极值点.2.计算二元函数在区域D 内的最大值和最小值设函数),(y x f z =在有界区域D 上连续,则),(y x f 在D 上必定有最大值和最小值。

求),(y x f 在D 上的最大值和最小值的一般步骤为:步骤1. 计算),(y x f 在D 内所有驻点处的函数值;步骤2. 计算),(y x f 在D 的各个边界线上的最大值和最小值;步骤3. 将上述各函数值进行比较,最终确定出在D 内的最大值和最小值。

3.函数求偏导数的MATLAB 命令MATLAB 中主要用diff 求函数的偏导数,用jacobian 求Jacobian 矩阵。

可以用help diff, help jacobian 查阅有关这些命令的详细信息例1 求函数32824-+-=y xy x z 的极值点和极值. 首先用diff 命令求z 关于x,y 的偏导数>>clear; syms x y;>>z=x^4-8*x*y+2*y^2-3;>>diff(z,x)>>diff(z,y)结果为ans =4*x^3-8*yans =-8*x+4*y即.48,843yxyzyxxz+-=∂∂-=∂∂再求解方程,求得各驻点的坐标。

MATLAB图形工具箱

MATLAB图形工具箱

一、二维曲线的绘制
对于图形坐标的控制,请看图片自 己在上机实习的时候学会!
一、二维曲线的绘制
绘制函数的图形: 语法: fplot(‘fun’,lim,’s’):绘制函数fun的图形. 说明:fun为要绘制图形的函数,lim为图形的 范围,如:[0,2*pi],s为图形所用的点型,线 型和颜色的设定,与plot命令相同.
二、三维图形的绘制
2‘ 三维曲面图 语法:surf(z) surf(x,y,z) 说明:意义与mesh命令相同,只是图形不 是网线而是曲面。
三、特殊图形的绘制
1、条形图 语法:bar(x,y,width) %画条形图 bar3(x,y,width,’参数’) %画三维条形图 说明:x是横坐标向量,省略时默认值是1:m,m为y的向 量长度;y是纵坐标,当y是向量时,每个元素对应一 个竖条,当y是矩阵时,将画出m组竖条,每组包含n 条;width是竖条的宽度。默认时为0.8,(把bar命令 改为barh命令时将绘制出水平的条形图)。 三维的条形图中的参数可以detached, grouped,stacked三个,分别表示不同的显示方式.
一、二维曲线的绘制
数据点形 实点标记:. 圆圈标记:。 等等,其他更多的可以查相关的资料。 例如:>>x=0:0.1:2*pi; >>plot(x,sin(x),’r-.’) :用红色点划线 画出曲线 >>plot(x,cos(x),’b:*’)
一、二维曲线的绘制
6、交互式图形命令 (1)ginput命令 ginput命令与其他图形命令的原理不同, 不是把数据表现在图形上,而是从图上 获取数据。因此,ginput命令在数值优化、 工程设计中十分有用,仅适用于二维图 形。

一元、二元函数图像绘制

一元、二元函数图像绘制

⼀元、⼆元函数图像绘制⽬录概述本篇博客主要是在上⼀篇的基础上,进⼀步说明“函数”在函数式编程中的重要作⽤。

强调了函数和普通类型⼀样,可以赋值、存储、传参以及作为另外函数的返回值。

本⽂附带了⼀个Demo,该Demo可以将任意字符串函数表达式解析之后⽣成对应的函数(⼀元、⼆元以及三元),如果你输⼊的是⼀元或者⼆元函数表达式,则可以绘制出相应的函数图像。

⼀元函数图像为平⾯曲线,⼆元函数图像为⽴体曲⾯。

看下图:函数表达式中只识别X、Y、Z三个⾃变量。

字符串表达式解析字符串解析是重点。

怎样去识别⼀串字符串函数表达式呢?如x^2+sin(x)*cos(y)。

之后怎样去计算函数值呢?其实原理很简单,由于每个函数表达式中包含的有效符号是有限的,如X、Y、Z、+、-、*、/以及⼀些函数诸如log、sin、cos等等,只要我们将这些有效符号均识别筛选出来之后,再根据这些符号的优先级别⽣成⼀个函数语法树即可。

如上图所⽰,使⽤⼀个“树结构”去存储最终的语法树。

最后带⼊X、Y(⼆元)求得函数值。

表达式解析这块难点是语法树的构建和最终求值。

语法树的构建有点复杂,⼤家可以参见源码;最终求值的原理是,判断当前符号(节点)是单⽬运算符号(如cos、sin、负号等)还是双⽬运算符号(如+ - * /等),如果是单⽬运算⽐如cos函数,则先计算⼦节点(只有⼀个⼦节点)的值,然后将得到的值进⾏cos运算(Math.Cos(⼦节点的值));相反,如果是双⽬运算符⽐如+符号,那么先计算左⼦节点和右⼦节点的值,最后将两个值进⾏+操作(左⼦节点的值+右⼦节点的值),依次递归计算得到最终的函数值。

图像绘制图像绘制这块就⽐较简单了。

根据前⼀步得到的语法树,我们可以创建出对应的⼀元函数、⼆元函数以及三元函数(委托的形式)。

事先定义的委托结构如下:/// <summary>/// ⼀元函数/// </summary>/// <param name="x"></param>/// <returns></returns>public delegate double UnaryFunction(double x);/// <summary>/// ⼆元函数/// </summary>/// <param name="x"></param>/// <param name="y"></param>/// <returns></returns>public delegate double BinaryFunction(double x,double y);/// <summary>/// 三元函数/// </summary>/// <param name="x"></param>/// <param name="y"></param>/// <param name="z"></param>/// <returns></returns>public delegate double MultiFunction(double x,double y,double z);很简单就可以看出,⼀元函数接收⼀个参数,返回⼀个值;⼆元函数接收两个参数,返回⼀个值;三元函数接收三个参数,返回⼀个值。

1. Matlab使用入门

1. Matlab使用入门

1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
24/32
绘网面命令mesh()使用格式: mesh(x,y,z) 或 mesh(z) 例1.12 绘二元函数 z = x exp( –x2 – y2)的图形。 [x,y]=meshgrid(-2:0.2:2); z=x.*exp(-x.^2-y.^2); mesh(x,y,z) colormap([0 0 1]) 注记: x,y是维数相同的矩阵; 表达式中“.*”和“.^”运算 使得z是与x,y维数相同矩阵。 功能相同的绘图命令:surf, meshc, meshz,· · · · · · · ·
11/32
三角函数与双曲函数
sin asin cos acos tan atan cot acot sec asec csc acsc 正弦函数 反正弦函数 余弦函数 反余弦函数 正切函数 反正切函数 余切函数 反余切函数 正割函数 反正割函数 余割函数 反余割函数 sinh asinh cosh acosh tanh atanh sech asech csch acsch coth acoth 双曲正弦函数 反双曲正弦函数 双曲余弦函数 反双曲余弦函数 双曲正切函数 反双曲正切函数 双曲正割函数 反双曲正割函数 双曲余割函数 反双曲余割函数 双曲余切函数 反双曲余切函数
1/3 1/4 1/5
19/32
————矩阵创建常用方法————
1.直接输入法; 2.特殊矩阵函数法; 3. 数据文件输入 注意事项 矩阵元素必须在方括号[ ]之内; 同一行相邻元素间用逗号或空格分隔; 矩阵的行与行之间用分号分隔. A=hilb(3) B=invhilb(3) A*B
掌握MATLAB程序设计方法
以MATLAB为操作平台完成实验作业

Matlab建模训练3 图形绘制

Matlab建模训练3  图形绘制

Matlab 建模训练3 图形绘制一、学习二维平面图形的描绘方法1、 在同一窗口绘制正、余弦函数的图形。

2、绘制三叶玫瑰线r=sin(3θ)3、绘制分段函数311012≤≤≤≤⎩⎨⎧+=x x xx y 的图形。

二、学习空间曲线的绘制1、sin cos cos ,06sin ,06.x t t x t ty t t t y t t t z t z tππ==⎧⎧⎪⎪=≤≤=≤≤⎨⎨==⎪⎪⎩⎩及2、 绘制空间曲线sin ,cos ,x t t y t z ===三、学习空间曲面的绘制例 绘制函数sin z x =4个子图的不同特征。

[X,Y]=meshgrid(-4:0.2:4); Z=X.*sin(sqrt(X.^2+Y .^2)); subplot(2,2,1) mesh(Z)subplot(2,2,2) mesh(X,Y ,Z) subplot(2,2,3)surf(X,Y,Z)subplot(2,2,4)surfc(X,Y,Z)ezsurf命令彩色表面图,调用格式与ezmesh相同。

二维图形的视例 分别用命令ezmesh(22,22x y -≤≤-≤≤)和ezsurf(04,14x y ≤≤-≤≤)作函数例 绘制函数22xy z xe --=的图形,并在各坐标设置点观察图形。

功能在默认区域0,2x y π≤≤上画z=f(x,y)高线图,a x y b ≤≤上画z=f(x,y)的等高线图,a x b c y d ≤≤≤≤上画z=f(x,y)例 绘制函数sin cos(),,,,2222z x x y x y ππππ⎡⎤⎡⎤=++∈-∈-⎢⎥⎢⎥⎣⎦⎣⎦的二维等高线和填充等高线。

例 绘制多峰函数()()()222222211351311053x y x y x y x z x ex y e e--+-+---⎛⎫=----- ⎪⎝⎭,在[][],,,x y ππππ∈-∈-上的图形以及二维等高线、二维填充等高线和三维等高线的图形。

Matlab绘图

Matlab绘图

第二章绘图要画一个函数的图像,先是选取一堆x,求出相对应的y值,然后按照数值描点,接着用光滑的曲线把点连接起来。

和数学课讲的一样,在matlab中,我们画图也分为三步1. 建立一个x的点集;2. 根据函数关系式算出每个x对应y的点集;3. 将这些点用平滑的曲线连接起来。

例如要画y=sinx在[0,10]区间内的图像,首先我们要确定出x的区间>>x = [0:0.1:10];命令的意思是,产生一个数集,它从0开始,每次加0.1,一直加到10为止注意,命令后面的分号记得加上,否则matlab会把x的元素都打印出来,下面就是不加分号的后果:有了x的数集后,我们再根据函数关系式y=sinx得出y的点集>>y = sin(x);同样的,别忘了把分号加上抑制程序输出y的具体值,以及sin(x)的括号别忘了加到这里,我们已经把x和y确定下来,接下来只需用plot(x,y)命令即可绘制出图像>>plot(x,y)当然,如果你不定义y,而直接用一下嵌套命令也是可以的>>plot(x,sin(x))我们将x的增量变大一点,改为0到10,每次增幅为1,即>>x = [0:1:10];然后我们输入>>plot(x,y)我们会得到错误信息:原因是之前我们定义的y是由之前的x决定的,当x改变后,y依然没有改变,为了解决这个问题,我们要把y重新定义一遍,即命令要完整再输入一遍>>x = [0:1:10];>>y = sin(x);>>plot(x,y)然后程序会绘制出和我们预期相同的图像没错,我们将看到不光滑的曲线,这告诉我们,当使用plot(x,y)画图的时候x的增加幅度尽可能小一些,画出的图像才精确(跟数学里点越多图像越精确原理一样的)为了美化图像(有时是为了更清楚的辨析图像),我们经常要为图像加上网格,为坐标轴命名,改变曲线的颜色、形状这些命令2.1 加上网格我们使用grid on 命令我们这样书写:>>x=[0:0.1:10];y=sin(x);>>plot(x,y),grid on这样就画出了带网格的图像当然,也可以先画出没有网格的图像,再把窗口切回matlab命令输入窗口,输入grid on,这样图像就会加上网格,即>>x=[0:0.1:10];y=sin(x);>>plot(x,y)>>grid on2.2 为坐标轴命名为x坐标轴命名的命令是xlabel(),显然,y的就应该是ylabel()比如这里,我想让x命名为x,y命名为sinx,则如下输入:>>x=[0:0.1:10];y=sin(x);>>plot(x,y),xlabel(‘x’),ylabel(‘sinx’)注意,坐标轴的名字要用引号括起来,表示字符串当然也可以画图后再标坐标轴,即:>>x=[0:0.1:10];y=sin(x);>>plot(x,y)>>xlabel(‘x’)>>ylabel(‘sinx’)然后我们就可以看到坐标轴带命名的图像:2.3 绘制多条曲线绘制多条曲线有两种情况,一种是在同一个坐标面内画多条曲线,另一种是在一个面内画多个独立的曲线我们先讲第一种,假设我们要在一个坐标面内画sinx,cosx,tanx的图像先定义x,y>>x=[0:0.1:10]>>y1=sin(x);>>y2=cos(x);>>y3=tan(x);接着画图>>plot(x,y1)这时候函数绘制出了sinx的图像接着我们继续画>>plot(x,y2)我们会发现程序会把之前的sinx图像抹掉,然后绘制cosx的图像为了让他们同时存在,我们使用hold on命令,即画完一个图后,hold on,继续画当我们再加上tanx后会得到这个图像这是因为函数显示区间设置的原因,后面讲2.4 更改图像显示区间从楼上我们已经在一个图中画出了sinx、cosx、tanx的图像,但是我们知道tanx的值域是负无穷到正无穷,而sin,cos的值域是-1到1,这导致了我们基本上看不到sin,cos的图像,为了解决这个问题,我们只需用axis命令即可,命令格式为axis([xmin xmax ymin ymax])即括号内跟一个区间,四个数字分别是x的起点,x的终点,y的起点,y的终点。

matlab绘制二元函数图形

matlab绘制二元函数图形

MATL AB绘制二元函数的图形【实验目的】1.了解二元函数图形的绘制。

2.了解空间曲面等高线的绘制。

3.了解多元函数插值的方法。

4.学习、掌握MATLAB软件有关的命令。

【实验内容】画出函数22yz+=的图形,并画出其等高线。

x【实验准备】1.曲线绘图的MATLAB命令MATLAB中主要用mesh,surf命令绘制二元函数图形。

主要命令mesh(x,y,z)画网格曲面,这里x,y,z是数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点在空间中描出,并连成网格。

surf(x,y,z)画完整曲面,这里x,y,z是数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点所表示曲面画出。

【实验重点】1. 二元函数图形的描点法2. 曲面交线的计算3. 地形图的生成【实验难点】1. 二元函数图形的描点法2. 曲面交线的计算【实验方法与步骤】练习1画出函数22y=的图形,其中]3,3xz+⨯-yx。

∈,[]3,3[(-)用MATLAB作图的程序代码为>>clear;>>x=-3:0.1:3; %x的范围为[-3,3]>>y=-3:0.1:3; %y的范围为[-3,3]>>[X,Y]=meshgrid(x,y); %将向量x,y指定的区域转化为矩阵X,Y >>Z=sqrt(X.^2+Y.^2); %产生函数值Z>>mesh(X,Y,Z)运行结果为图5.3如果画等高线,用contour,contour3命令。

contour画二维等高线。

contour3画三维等高线。

画图5.3所示的三维等高线的MA TLAB 代码为>>clear;>>x=-3:0.1:3;>>y=-3:0.1:3;>>[X,Y]=meshgrid(x,y);>>Z=sqrt(X.^2+Y.^2);>>contour3(X,Y,Z,10); %画10条等高线>>xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis'); %三个坐标轴的标记>>title('Contour3 of Surface') %标题>>grid on %画网格线运行结果为图5.4如果画图5.4所示的二维等高线,相应的MATLAB代码为>>clear;x=-3:0.1:3;y=-3:0.1:3;>>[X,Y]=meshgrid(x,y);Z=sqrt(X.^2+Y.^2);>>contour (X,Y,Z,10);>>xlabel('X-axis'),ylabel('Y-axis');>>title('Contour3 of Surface')>>grid on运行结果为如果要画z=1的等高线,相应的MATLAB代码为>>clear;x=-3:0.1:3;y=-3:0.1:3;>>[X,Y]=meshgrid(x,y);Z=sqrt(X.^2+Y.^2);>>contour(X,Y,Z,[1 1])运行结果为练习2 二次曲面的方程如下222222x y z d a b c++= 讨论参数a ,b ,c 对其形状的影响。

在《高等数学》教学中使用MATLAB制作曲面和动画的几个实例

在《高等数学》教学中使用MATLAB制作曲面和动画的几个实例
【 教学设计 】
在《 高等数学》 教学中使用MA T L A B 制作曲面和动画的几个实例
霍振香 , 王福 昌 , 张丽娟
( 中国地震 局 防灾科 技 学 院 , 河北 三河 0 6 5 2 0 1 )
摘要 : 在 多元微积分的教 学中, 正确绘制二元 函数图形对于理解 空间曲面、 空间曲线和重积分概念和提 高计 算技巧 具有重要意义。 利 用MT A L A B 的 给 出一 些 典 型 的二 元 函 数 图形 和 动 画例 子 , 这 些例 子 可 以加 深 学 生对 概 念 的理 解 , 提高


七、 板 书
“ 其二人如何学弈?” 生: “ 其一人专心致志, 惟弈秋 之为听 ;

学 弈
人虽听之 , 一心以为有鸿鹄将至 , 思援 弓缴而射之 。” 师 问: “ 学弈结果如何?” 生: “ 虽与之俱学 , 费若之矣。” 师: 下面欣赏欣赏根据课文改成的动画片 , 请 同学们 起 用课 文 给它 配 配 音 。 ( 评析 : 此环节 , 师生合作 , 一问一答 , 形式有趣 , 既拉
学生对空间曲面 、 曲线和区域的理解历来是他们的学 习难 点, 而“ 一幅好图胜过千言万语 ” 。 在教学过程中, 我们发现 如果教师能精心设计的一幅好的三维图形或动画 , 可使学 生对空间曲面 、 曲线 、 梯度和重积分的概念理解达到豁然
开朗 、 茅 塞 顿开 的教 学 效果 。 M A T L A B 作为最流行的通用科学计算软件 , 具有强大 的图形 可 视化 功 能 , 可 以做 出非常 精致 的图形 。在 多元 微 积分的教学 中 , 通过绘制空间曲面和曲线 的图形 , 可使数
空 间 曲面 的绘 制 函数 的空 间 图形 对 于 理 解 多 元 函 数 的许 多相 关 概 念
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10 sin x 2 y 2 1 x2 y2
在 30 x, y 30 范围内的图形, 并画
mesh(x,y,z) subplot(1,2,2); contour(x,y,z,10)
2. 根据给定的参数方程,绘制下列曲面的图形。 a) 椭球面 x 3 cos u sin v , y 2 cos u cos v , z sin u ; 解: clear;close;
MATL AB 绘制二元函数的图形
【实验目的】 1.了解二元函数图形的绘制。 2.了解空间曲面等高线的绘制。 3.了解多元函数插值的方法。 4.学习、掌握 MATLAB 软件有关的命令。 【实验内容】 画出函数 z x 2 y 2 的图形,并画出其等高线。 【实验准备】 1.曲线绘图的 MATLAB 命令 MATLAB 中主要用 mesh,surf 命令绘制二元函数图形。主要命令 mesh(x,y,z)画网格曲面,这里 x,y,z 是数据矩阵,分别 表示数据点的横坐标,纵坐标和函数值,该命令将数据点在空间中描 出,并连成网格。 surf(x,y,z)画完整曲面,这里 x,y,z 是数据矩阵,分别表 示数据点的横坐标,纵坐标和函数值,该命令将数据点所表示曲面画 出。 【实验重点】 1. 二元函数图形的描点法 2. 曲面交线的计算 3. 地形图的生成
【实验难点】 1. 二元函数图形的描点法 2. 曲面交线的计算 【实验方法与步骤】 练习 1 画出函数 z x 2 y 2 的图形,其中 ( x, y ) [3, 3] [3, 3] 。 用 MATLAB 作图的程序代码为 >>clear; >>x=-3:0.1:3; %x 的范围为[-3,3] >>y=-3:0.1:3; %y 的范围为[-3,3] >>[X,Y]=meshgrid(x,y); %将向量 x,y 指定的区域转化为矩阵 X,Y >>Z=sqrt(X.^2+Y.^2); %产生函数值 Z >>mesh(X,Y,Z) 运行结果为
u=-4:0.1:4; v=-4:0.1:4; [U,V]=meshgrid(u,v); X=3.*cos(U).*sin(V); Y=2.*cos(U).*cos(V); Z=sin(U); surf(X,Y,Z); axis equal
b) 椭圆抛物面 x 3u sin v , y 2u cos v , z 4u 2 ; 解: clear;close; u=-4:0.1:4;
当 a=5i,b=4,c=3,d=1,N=15 时结果为
当 a=5i,b=4i,c=3,d=0.1,N=10 时结果为
【练习与思考】 1ຫໍສະໝຸດ 画出空间曲面 z 出相应的等高线。 解: clear;close; u=-30:0.5:30; v=-30:0.5:30; [x,y]=meshgrid(u,v); z=10*sin(sqrt(x.^2+y.^2))./sqrt(1+x.^2+y.^2); subplot(1,2,1);
e) 旋转面 x ln u sin v , y ln u cos v , z u ; 解: clear;close; u=-4:0.1:4; v=-4:0.1:4; [U,V]=meshgrid(u,v); X=log(U).*sin(V); Y=log(U).*cos(V); Z=U; mesh(X,Y,Z); shading interp; colormap(jet); axis equal
x2 y2 z 2 d a 2 b2 c2
讨论参数 a,b,c 对其形状的影响。 相应的 MATLAB 代码为 >>a=input('a='); b=input('b='); c=input('c='); >>d=input('d='); N=input('N='); %输入参数,N 为网格线数目 >>xgrid=linspace(-abs(a),abs(a),N); %建立 x 网格坐标 >>ygrid=linspace(-abs(b),abs(b),N); %建立 y 网格坐标 >>[x,y]=meshgrid(xgrid,ygrid); %确定 N×N 个点的 x,y 网格坐标 >>z=c*sqrt(d-y.*y/b^2-x.*x/a^2);u=1; %u=1,表示 z 要取正值 >>z1=real(z); %取 z 的实部 z1
v=-4:0.1:4; [U,V]=meshgrid(u,v); X=3.*U.*sin(V); Y=2.*U.*cos(V); Z=4.*U.^2; surf(X,Y,Z); shading interp; colormap(hot); axis equal
c) 单叶双曲面 x 3 sec u sin v , 2 sec u cos v , z 4 tan u ; 解: clear;close;
shading interp; colormap(jet); axis equal
3. 在一丘陵地带测量高程, x 和 y 方向每隔 100 米测一个点,得高程 见表 5-2,试拟合一曲面,确定合适的模型,并由此找出最高点和该 点的高程。 表 5-2 高程数据 y x 100 200 100 636 698 200 697 712 300 624 630 400 478 478
f) 圆锥面 x u sin v , y u cos v , z u ; 解: clear;close; u=-4:0.1:4; v=-4:0.1:4; [U,V]=meshgrid(u,v); X=U.*sin(V); Y=U.*cos(V); Z=U; mesh(X,Y,Z); shading interp; colormap(jet);
标记 >>title('Contour3 of Surface') %标题 >>grid on %画网格线 运行结果为
图 5.4
如果画图 5.4 所示的二维等高线,相应的 MATLAB 代码为 >>clear;x=-3:0.1:3;y=-3:0.1:3; >>[X,Y]=meshgrid(x,y);Z=sqrt(X.^2+Y.^2); >>contour (X,Y,Z,10); >>xlabel('X-axis'),ylabel('Y-axis'); >>title('Contour3 of Surface')
300 400 解:
680 662
674 626
598 552
412 334
clear;close; x=[100 100 100 100 200 200 200 200 300 300 300 300 400 400 400 400]; y=[100 200 300 400 100 200 300 400 100 200 300 400 100 200 300 400]; z=[636 697 624 478 698 712 630 478 680 674 598 412 662 626 552 334]; xi=100:5:400; yi=100:5:400; [X,Y]=meshgrid(xi,yi); H=griddata(x,y,z,X,Y,'cubic'); surf(X,Y,H); view(-112,26); hold on; maxh=vpa(max(max(H)),6) [r,c]=find(H>=single(maxh)); stem3(X(r,c),Y(r,c),maxh,'fill')
>>for k=2:N-1; %以下 7 行程序的作用是取消 z 中含虚数的点 >>for j=2:N-1 >>if imag(z(k,j))~=0 z1(k,j)=0;end >>if all(imag(z([k-1:k+1],[j-1:j+1])))~=0 z1(k,j)=NaN;end >>end >>end >>surf(x,y,z1),hold on %画空间曲面 >>if u==1 z2=-z1;surf (x,y,z2);%u=1 时加画负半面 >>axis([-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c)]); >>end >>xlabel('x'),ylabel('y'),zlabel('z') >>hold off 运行程序,当 a=5,b=4,c=3,d=1,N=50 时结果为
u=-2:0.1:2; v=-2:0.1:2; [U,V]=meshgrid(u,v); X=3*sec(U).*sin(V); Y=2*sec(U).*cos(V); Z=4*tan(U); mesh(X,Y,Z); shading interp; colormap(jet); axis equal
colormap(jet); axis equal
h) 正螺面 x u sin v , y u cos v , z 4v 。 解: clear;close; u=-4:0.1:4; v=-4:0.1:4; [U,V]=meshgrid(u,v); X=U.*sin(V); Y=U.*cos(V); Z=4*V; mesh(X,Y,Z);
图 5.3 如果画等高线,用 contour,contour3 命令。 contour 画二维等高线。 contour3 画三维等高线。 画图 5.3 所示的三维等高线的 MATLAB 代码为 >>clear; >>x=-3:0.1:3; >>y=-3:0.1:3; >>[X,Y]=meshgrid(x,y); >>Z=sqrt(X.^2+Y.^2); >>contour3(X,Y,Z,10); %画 10 条等高线 >>xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis'); % 三个坐标轴的
相关文档
最新文档