fsurf年代pan>
图三维曲面
语法
描述
fsurf (<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-f" class="intrnllnk">
创建符号表达的表面图f
)f (x, y)
超过默认时间间隔5 [5]
为x
而且y
.
fsurf (<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-f" class="intrnllnk">
情节f
,<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-minmax" class="intrnllnk">(最小最大)
)f (x, y)
在时间间隔内(最小最大)
为x
而且y
.
fsurf (<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-f" class="intrnllnk">
情节f
,<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-xminxmaxyminymax" class="intrnllnk">[xmin xmax ymin ymax]
)f (x, y)
在时间间隔内[xmin xmax]
为x
而且[ymin ymax]
为y
.<年代pan>的fsurf
函数使用symvar
对变量进行排序并分配间隔。年代pan>
fsurf (<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-funxfunyfunz" class="intrnllnk">
绘制参数曲面好笑,funx funz
)X = X (u,v)
,Y = Y (u,v)
,Z = Z (u,v)
在时间间隔内5 [5]
为u
而且v
.
fsurf (<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-funxfunyfunz" class="intrnllnk">
绘制参数曲面好笑,funx funz
,<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-uvminuvmax" class="intrnllnk">[uvmin uvmax]
)X = X (u,v)
,Y = Y (u,v)
,Z = Z (u,v)
在时间间隔内[uvmin uvmax]
为u
而且v
.
fsurf (<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-funxfunyfunz" class="intrnllnk">
绘制参数曲面好笑,funx funz
,<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-uminumaxvminvmax" class="intrnllnk">[umin umax vmin vmax]
)X = X (u,v)
,Y = Y (u,v)
,Z = Z (u,v)
在时间间隔内[umin umax]
为u
而且[vmin vmax]
为v
.<年代pan>的fsurf
函数使用symvar
对参数变量进行排序并分配区间。年代pan>
fsurf (<年代pan class="argument_placeholder">___年代pan>,<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f_sep_mw_3a76f056-2882-44d7-8e73-c695c0c54ca8" class="intrnllnk">
使用LineSpec
)LineSpec
设置线条样式、标记符号和面色。在任何先前的输入参数组合之后使用此选项。
fsurf (<年代pan class="argument_placeholder">___年代pan>,<一个href="#namevaluepairarguments" class="intrnllnk">
使用一个或多个指定行属性名称,值
)名称,值
对参数。在前面语法中的任何输入参数组合之后使用此选项。
fsurf (<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-ax" class="intrnllnk">
与对象一起绘制到坐标轴上斧头
,<年代pan class="argument_placeholder">___年代pan>)斧头
而不是当前坐标轴对象gca
.
返回一个函数曲面对象或参数化函数曲面对象,具体取决于曲面的类型。使用该对象可以查询和修改指定曲面的属性。详细信息请参见<一个href="//www.tianjin-qmedu.com/la/help/matlab/ref/matlab.graphics.function.functionsurface-properties.html">FunctionSurface属性年代pan>而且<一个href="//www.tianjin-qmedu.com/la/help/matlab/ref/matlab.graphics.function.parameterizedfunctionsurface-properties.html">ParameterizedFunctionSurface属性年代pan>.fs
= fsurf (<年代pan class="argument_placeholder">___年代pan>)
例子
符号表达的三维曲面图
绘制输入图<年代pan class="inlineequation"> 超过默认范围<年代pan class="inlineequation"> 而且<年代pan class="inlineequation"> .
信谊<年代pan style="color:#A020F0">x年代pan>y年代pan>fsurf (sin (x) + cos (y))
符号函数的三维曲面图
的实部<年代pan class="inlineequation"> 超过默认范围<年代pan class="inlineequation"> 而且<年代pan class="inlineequation"> .
信谊<年代pan style="color:#A020F0">f (x, y)年代pan>F (x,y) = real(atan(x + i*y));fsurf (f)
指定曲面图的绘制间隔
情节<年代pan class="inlineequation">
在<年代pan class="inlineequation">
而且<年代pan class="inlineequation">
的第二个参数指定绘图间隔fsurf
.
信谊<年代pan style="color:#A020F0">x年代pan>y年代pan>F = sinx + cos y;(f, [-pi PI -5 5])
参数化曲面图
绘制参数化曲面
为<年代pan class="inlineequation"> 而且<年代pan class="inlineequation"> .
通过使用改善情节的外观camlight
.
信谊<年代pan style="color:#A020F0">年代年代pan>t年代pan>R = 2 + sin(7*s + 5*t);X = r*cos(s)* sint;Y = r*sin(s)* sint;Z = r*cos(t);Fsurf (x, y, z, [0 2*pi 0 pi]) camlight view(46,52)
分段表达式的曲面图
画出克莱因瓶的分段表达式
为<年代pan class="inlineequation"> 而且<年代pan class="inlineequation"> .
证明克莱因瓶只有一个单面表面。
信谊<年代pan style="color:#A020F0">u年代pan>v年代pan>;R = @(u) 4 - 2*cos(u);x =分段(u < =π,4 * cos (u) * (1 + sin (u)) - r (u) * cos (u) * cos (v),<年代pan style="color:#0000FF">...年代pan>U >, -4*cos(U)*(1+ sinu) + r(U)*cos(v));Y = r(u)* sinv;z =分段(u < =π,-14 *罪(u) - r (u) * sin (u) * cos (v),<年代pan style="color:#0000FF">...年代pan>U >, -14*sin(U));H = fsurf(x,y,z, [0 2*pi 0 2*pi]);
添加标题和轴标签和格式刻度
为<年代pan class="inlineequation"> 而且<年代pan class="inlineequation"> 从<年代pan class="inlineequation"> 来<年代pan class="inlineequation"> ,绘制三维曲面<年代pan class="inlineequation"> .添加标题和轴标签。
通过以的间隔跨越x轴极限来创建x轴刻度π/ 2
.将轴限制转换为的精确倍数π/ 2
通过使用轮
然后输入符号标记值年代
.控件显示这些刻度XTick
财产。使用创建x轴标签arrayfun
应用texlabel
来年代
.控件显示这些标签XTickLabel
财产。对y轴重复上述步骤。
要在图中使用LaTeX,请参见<一个href="https://la.mathworks.com/help/symbolic/sym.latex.html" data-docid="symbolic_ug#f2-234358" class="a">乳胶
.
信谊<年代pan style="color:#A020F0">x年代pan>y年代pan>Fsurf (y.*sin(x)-x.*cos(y), [-2* 2*pi])<年代pan style="color:#A020F0">ysin(x) - xcos(y) for x and y in [-2\pi,2\pi]'年代pan>)包含(<年代pan style="color:#A020F0">“x”年代pan>) ylabel (<年代pan style="color:#A020F0">“y”年代pan>) zlabel (<年代pan style="color:#A020F0">“z”年代pan>) ax = gca;S = sym(ax.XLim(1):pi/2:ax.XLim(2));S = sym(round(vpa(S/pi*2))*pi/2);斧子。XTick = double(S);斧子。XTickLabel = arrayfun(@texlabel,S,<年代pan style="color:#A020F0">“UniformOutput”年代pan>、假);S = sym(ax.YLim(1):pi/2:ax.YLim(2));S = sym(round(vpa(S/pi*2))*pi/2);斧子。YTick = double(S);斧子。YTickLabel = arrayfun(@texlabel,S,<年代pan style="color:#A020F0">“UniformOutput”年代pan>、假);
表面绘图的线条样式和宽度
绘制参数曲面<年代pan class="inlineequation">
,<年代pan class="inlineequation">
,<年代pan class="inlineequation">
用不同的线条样式对应不同的值<年代pan class="inlineequation">
.为<年代pan class="inlineequation">
,使用虚线和绿点标记。为<年代pan class="inlineequation">
,使用线宽
的1
还有绿色的脸。为<年代pan class="inlineequation">
,通过设置关闭线路EdgeColor
来没有一个
.
信谊<年代pan style="color:#A020F0">年代年代pan>t年代pan>Fsurf (s* sint,-s*cos(t),t,[-5 5 -5 -2],<年代pan style="color:#A020F0">“——”。年代pan>,<年代pan style="color:#A020F0">“MarkerEdgeColor”年代pan>,<年代pan style="color:#A020F0">‘g’年代pan>)举行<年代pan style="color:#A020F0">在年代pan>Fsurf (s*sin(t),-s*cos(t),t,[-5 5 -2 2],<年代pan style="color:#A020F0">“线宽”年代pan>,1,<年代pan style="color:#A020F0">“FaceColor”年代pan>,<年代pan style="color:#A020F0">‘g’年代pan>) fsurf(s*sin(t),-s*cos(t),t,[-5 5 2 5],<年代pan style="color:#A020F0">“EdgeColor”年代pan>,<年代pan style="color:#A020F0">“没有”年代pan>)
创建后修改表面
绘制参数曲面
指定要生成的输出fcontour
返回plot对象。
信谊<年代pan style="color:#A020F0">u年代pan>v年代pan>X = exp(-abs(u)/10).*sin(5*abs(v));Y = exp(-abs(u)/10).*cos(5*abs(v));Z = u;Fs = fsurf(x,y,z)
fs = ParameterizedFunctionSurface与属性:XFunction: exp(-abs(u)/10)*sin(5*abs(v)) YFunction: exp(-abs(u)/10)*cos(5*abs(v)) ZFunction: u EdgeColor: [0 0 0] LineStyle: '-' FaceColor: 'interp'显示所有属性
更改的范围u
来30 [-30]
通过使用URange
的属性fs
.属性将线条颜色设置为蓝色EdgeColor
属性指定白色圆点标记标记
而且MarkerEdgeColor
属性。
fs。URange = [-30 30];fs。EdgeColor =<年代pan style="color:#A020F0">“b”年代pan>;fs。标志=<年代pan style="color:#A020F0">“。”年代pan>;fs。MarkerEdgeColor =<年代pan style="color:#A020F0">' w '年代pan>;
多曲面图和透明曲面
使用矢量输入绘制多个曲面fsurf
.另外,使用抓住
在同一图形上依次绘制。当在同一个图形上显示多个表面时,透明度是有用的。控件调整表面图的透明度FaceAlpha
财产。FaceAlpha
不同0
来1
,在那里0
是完全透明的1
就是没有透明度。
绘制平面<年代pan class="inlineequation">
而且<年代pan class="inlineequation">
使用矢量输入fsurf
.通过使用半透明的方法显示两个平面FaceAlpha
.
信谊<年代pan style="color:#A020F0">x年代pan>y年代pan>H = fsurf([x+y x-y]);h(1)。F一个ceAlpha = 0.5; h(2).FaceAlpha = 0.5; title(<年代pan style="color:#A020F0">“半透明平面(x+y)和(x-y)”年代pan>)
曲面图的控制分辨率
控件控制曲面图形的分辨率“MeshDensity”
选择。增加“MeshDensity”
可以使绘图更流畅,更准确,同时减少绘图速度。
把一个图形分成两部分次要情节
.在第一个子图中,绘制参数曲面<年代pan class="inlineequation">
,<年代pan class="inlineequation">
,<年代pan class="inlineequation">
.表面有很大的缝隙。通过增加“MeshDensity”
来40
在第二次要情节中。fsurf
填补空缺表明,通过增加“MeshDensity”
你提高了情节的分辨率。
信谊<年代pan style="color:#A020F0">年代年代pan>t年代pan>次要情节(2,1,1)fsurf(罪(s),因为(s), t / 10。* sin (1. / s))视图(-172年25)标题(<年代pan style="color:#A020F0">默认网格密度= 35年代pan>次要情节(2,1,2)fsurf(罪(s),因为(s), t / 10。*罪(1. / s),<年代pan style="color:#A020F0">“MeshDensity”年代pan>,40) view(-172,25) title(<年代pan style="color:#A020F0">增加的网格密度= 40年代pan>)
显示表面图下面的等高线
显示表达式的表面图的等高线f
通过设置“ShowContours”
选项“上”
.
信谊<年代pan style="color:#A020F0">x年代pan>y年代pan>F = 3*(1-x)²*exp(-(x²)-(y+1)²)<年代pan style="color:#0000FF">...年代pan>- 10*(x/5 -x^ 3 -y^ 5)*exp(-x^2-y²)<年代pan style="color:#0000FF">...年代pan>- 1/3*exp(-(x+1)²- y²);fsurf (f [3 3]<年代pan style="color:#A020F0">“ShowContours”年代pan>,<年代pan style="color:#A020F0">“上”年代pan>)
创建动画的表面情节
方法更改所显示的表达式来创建动画函数
,XFunction
,YFunction
,ZFunction
属性,然后通过使用drawnow
更新剧情。若要导出为GIF,请参见<一个href="https://la.mathworks.com/help/matlab/ref/imwrite.html">imwrite
.
通过改变变量<年代pan class="inlineequation">我从1到3,动画参数曲面
为<年代pan class="inlineequation">-0.1 <u< 0.1年代pan>而且<年代pan class="inlineequation">0 <v< 1年代pan>.通过减少来提高绘图速度MeshDensity
来9
.
信谊<年代pan style="color:#A020F0">年代年代pan>t年代pan>h = fsurf (t。* sin (s),因为(s),罪(1. / s), [-0.1 - 0.1 0 1]);h.MeshDensity = 9;<年代pan style="color:#0000FF">为年代pan>h.ZFunction = sin(i./s);drawnow<年代pan style="color:#0000FF">结束年代pan>
改善地表地块外观
创建一个符号表达式f
对于函数
画出表达式f
作为曲面。通过返回的句柄的属性来改善曲面图的外观fsurf
,照明特性,以及colormap
.
通过使用创造一盏灯camlight
.通过使用增加亮度照亮
.通过设置删除线条EdgeColor
来“没有”
.增加环境光的使用AmbientStrength
.详细信息请参见<一个href="https://la.mathworks.com/help/matlab/lighting-and-transparency.html" data-docid="matlab_doccenter#btf92_m-1" class="a">照明,透明度和底纹一个>.把轴箱打开。对于标题,convertf
使用乳胶乳胶
.最后,要改进轴的外观勾、轴的标签和标题的设置“翻译”
来“乳胶”
.
信谊<年代pan style="color:#A020F0">x年代pan>y年代pan>F = 3*(1-x)²*exp(-(x²)-(y+1)²)<年代pan style="color:#0000FF">...年代pan>- 10*(x/5 -x^ 3 -y^ 5)*exp(-x^2-y²)<年代pan style="color:#0000FF">...年代pan>- 1/3*exp(-(x+1)²- y²);H = fsurf(f,[-3 3]);camlight(110,70) light(0.6<年代pan style="color:#A020F0">“没有”年代pan>;h.AmbientStrength = 0.4;A = gca;a.TickLabelInterpreter =<年代pan style="color:#A020F0">“乳胶”年代pan>;a.Box =<年代pan style="color:#A020F0">“上”年代pan>;a.BoxStyle =<年代pan style="color:#A020F0">“全部”年代pan>;包含(<年代pan style="color:#A020F0">“x美元”年代pan>,<年代pan style="color:#A020F0">“翻译”年代pan>,<年代pan style="color:#A020F0">“乳胶”年代pan>) ylabel (<年代pan style="color:#A020F0">“y美元”年代pan>,<年代pan style="color:#A020F0">“翻译”年代pan>,<年代pan style="color:#A020F0">“乳胶”年代pan>) zlabel (<年代pan style="color:#A020F0">“z美元”年代pan>,<年代pan style="color:#A020F0">“翻译”年代pan>,<年代pan style="color:#A020F0">“乳胶”年代pan>title = []<年代pan style="color:#A020F0">“美元”年代pan>乳胶(f)<年代pan style="color:#A020F0">“美元”年代pan>];标题(title_latex,<年代pan style="color:#A020F0">“翻译”年代pan>,<年代pan style="color:#A020F0">“乳胶”年代pan>)
有界平面的曲面图
画一个圆柱形的壳下面的边界<年代pan class="inlineequation"> 飞机及以上乘飞机<年代pan class="inlineequation"> .
信谊<年代pan style="color:#A020F0">r年代pan>t年代pan>u年代pan>fsurf (cost,罪(t) u * (cos (t) + 2),[0 2π* 0 1])<年代pan style="color:#A020F0">在年代pan>;
添加平面的曲面图<年代pan class="inlineequation"> .
Fsurf (r*cos(t),r*sin(t),r*cos(t)+2,[0 1 0 2*pi])
应用旋转和平移曲面绘图
将旋转和平移应用于环面的曲面图。
环面可以用
在哪里
极坐标角和<年代pan class="inlineequation"> 方位角是多少
管子的半径是多少
管子中心到环面中心的距离是多少
定义的值<年代pan class="inlineequation">
而且<年代pan class="inlineequation">
分别是1和5。用fsurf
.
信谊<年代pan style="color:#A020F0">θ年代pan>φ年代pan>A = 1;R = 4;x = (R + a*cos())*cos();y = (R + a*cos)*sin;Z = a*sin(theta)Fsurf (x,y,z,[0 2* 0 2*])保持<年代pan style="color:#A020F0">在年代pan>
应用旋转的环面围绕<年代pan class="inlineequation"> 设在。定义旋转矩阵。将环面旋转90度或者<年代pan class="inlineequation"> 弧度。
Alpha = /2;Rx = [1 0 0;0cos -sin;0sin cos];R = [x;y;z];r_90 = Rx*r;
将环面的中心沿。平移5<年代pan class="inlineequation"> 设在。将旋转和平移后的环面添加到现有图中。
fsurf (r_90 (1) + 5, r_90 (2), r_90(3)轴([5 10 5 5 5])<年代pan style="color:#A020F0">从年代pan>
输入参数
输出参数
算法
fsurf
中的符号变量赋值<一个href="//www.tianjin-qmedu.com/la/help/symbolic/#buzhv1f-f" class="intrnllnk">f
到x
轴,然后y
轴,<一个href="https://la.mathworks.com/help/symbolic/symvar.html">symvar
确定要赋值的变量的顺序。因此,变量名和轴名可能不对应。强迫fsurf
分配x或y到其对应的轴上,创建要绘制的符号函数,然后将符号函数传递给fsurf
.年代pan>
例如,下面的代码绘图f(x,y) = sin(y)在两方面。第一种方式迫使波相对于y轴。第二种方式分配y到x轴,因为它是符号函数中的第一个(也是唯一的)变量。
信谊<年代pan style="color:#A020F0">x年代pan>y年代pan>;F (x,y) = sin(y);图;次要情节(2,1,1)fsurf (f);次要情节(2,1,2)fsurf (f (x, y));<年代pan style="color:#228B22">%或fsurf(sin(y));年代pan>
版本历史
在R2016a中引入年代tr在g>
另请参阅
功能
fcontour
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fimplicit
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fimplicit3
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fmesh
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fplot
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fplot3
属性
- FunctionSurface属性年代pan>|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">ParameterizedFunctionSurface属性年代pan>
主题
fcontour
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fimplicit
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fimplicit3
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fmesh
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fplot
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fplot3
- FunctionSurface属性年代pan>|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">ParameterizedFunctionSurface属性年代pan>