Matlab表达式三维绘图函数fplot3

4.6
(5)

今天,带来Matlab中,绘制三维表达式、三变量方程式、三变量函数、三维参数化曲线的图形绘制方法,即绘制 f(x,y,z) 的图形,主要包括三维参数化函数、参数范围指定、线条曲线标记、多线条绘制、线条曲线的修改、坐标轴刻度修改等常用绘图方法。

Matlab表达式三维绘图函数fplot3

下面我们将开始非常详细的 Matlab fplot3 函数语法介绍,实例引用,结果展示。首先,我们给出 Matlab 中关于 fplot3 函数的帮助文本如下:

>> help fplot3
 fplot3   Plot 3-D parametric curve
    fplot3(FUNX,FUNY,FUNZ) plots the parametric curve FUNX(T), FUNY(T), and
    FUNZ(T) over the default domain -5 < T < 5.
 
    fplot3(FUNX,FUNY,FUNZ,[TMIN TMAX]) plots the curve FUNX(T), FUNY(T),
    and FUNZ(T) over TMIN < T < TMAX.
 
    fplot3(...,'LineSpec') plots with the given line specification.
 
    fplot3(AX,...) plots into AX instead of the current axes.
 
    H = fplot3(...) returns handles to the plotted objects in H.
 
    Examples:
       fplot3(@sin,@cos,@log)
       fplot3(@(t) sin(2*t),@(t) cos(t), @(t) sin(3*t+2), [-pi,pi], '--*')
       fplot3(@cos, @(t) t.*sin(t), @sqrt)
       fplot3(@(x)x.*cos(x),@(x)x.*sin(x),@log,[0.1 123],'LineWidth',2)   
 
    If your function has additional parameters, for example k in myfuntk:
       %-----------------------%
       function s = myfuntk(t,k)
       s = t.^k .* sin(t);
       %-----------------------%
    then you may use an anonymous function to specify that parameter:
 
       fplot3(@cos,@(t)myfuntk(t,1),@sqrt)

常见用法

fplot3(funx,funy,funz)
fplot3(funx,funy,funz,tinterval)
fplot3(___,LineSpec)
fplot3(___,Name,Value)
fplot3(ax,___)
fp = fplot3(___)

语法说明

fplot3(funx,funy,funz) 在默认区间 [-5,5](对于 t)绘制由 x = funx(t)、y = funy(t) 和 z = funz(t) 定义的参数化曲线。

fplot3(funx,funy,funz,tinterval) 将在指定区间绘图。将区间指定为 [tmin tmax] 形式的二元素向量。

fplot3(___,LineSpec) 设置线型、标记符号和线条颜色。例如,’-r’ 指定红色线条。在前面的任何输入参数组合之后使用此选项。

fplot3(___,Name,Value) 使用一个或多个名称-值对组参数指定线条属性。例如,’LineWidth’,2 指定 2 磅的线宽。

fplot3(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。指定坐标区作为第一个输入参数。

fp = fplot3(___) 返回 ParameterizedFunctionLine 对象。可使用此对象查询和修改特定线条的属性。

三维参数化线条绘制

绘制三维参数化线条

x=sin(t)
y=cos(t)
z=t

(在默认参数范围 [-5 5] 内。)

xt = @(t) sin(t);
yt = @(t) cos(t);
zt = @(t) t;
fplot3(xt,yt,zt)
Matlab表达式三维绘图函数fplot3

参数范围指定

绘制参数化线条

x=et/10sin(5t)

y=et/10cos(5t)

z=t

(通过指定 fplot3 的第四个输入实参,在形参范围 [-10 10] 内绘制)。

xt = @(t) exp(-t/10).*sin(5*t);
yt = @(t) exp(-t/10).*cos(5*t);
zt = @(t) t;
fplot3(xt,yt,zt,[-10 10])
Matlab表达式三维绘图函数fplot3

线条曲线标记

在参数的不同区间,将同一条三维参数化曲线绘制三次。对于第一个区间,使用 2 磅的线宽。对于第二个,指定带有圆形标记的红色虚线线型。对于第三个,指定带有星号标记的青蓝色点划线线型。

fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [0 2*pi], 'LineWidth', 2)
hold on
fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [2*pi 4*pi], '--or')
fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [4*pi 6*pi], '-.*c')
hold off
Matlab表达式三维绘图函数fplot3

多线条绘制

使用 hold on 在相同的坐标区中绘制多个线条。

fplot3(@(t)t, @(t)t, @(t)t)
hold on
fplot3(@(t)-t, @(t)t, @(t)-t)
hold off
Matlab表达式三维绘图函数fplot3

线条曲线的修改

绘制参数化线条

x=e−|t|/10sin(5|t|)

y=e|t|/10cos(5|t|)

z=t.

将参数化函数行对象指定给变量。

xt = @(t)exp(-abs(t)/10).*sin(5*abs(t));
yt = @(t)exp(-abs(t)/10).*cos(5*abs(t));
zt = @(t)t;
fp = fplot3(xt,yt,zt)
Matlab表达式三维绘图函数fplot3
fp = 
  ParameterizedFunctionLine with properties:
    XFunction: @(t)exp(-abs(t)/10).*sin(5*abs(t))
    YFunction: @(t)exp(-abs(t)/10).*cos(5*abs(t))
    ZFunction: @(t)t
        Color: [0 0.4470 0.7410]
    LineStyle: '-'
    LineWidth: 0.5000
  Show all properties

将参数值范围更改为 [-10 10],并将线条颜色更改为红色。

fp.TRange = [-10 10];
fp.Color = 'r';
Matlab表达式三维绘图函数fplot3

坐标轴刻度修改

为从 −2π 到 2π 范围内的 t 值绘制参数化线条

x=t

y=t/2

z=sin(6t).

添加标题、x 轴标签和 y 轴标签。此外,还可以更改坐标区视图并显示坐标区框轮廓。

xt = @(t)t;
yt = @(t)t/2;
zt = @(t)sin(6*t);
fplot3(xt,yt,zt,[-2*pi 2*pi],'MeshDensity',30,'LineWidth',1);
title('x=t, y=t/2, z=sin(6t) for -2\pi<t<2\pi')
xlabel('x');
ylabel('y');
view(52.5,30)
box on
Matlab表达式三维绘图函数fplot3

使用 gca 访问坐标区对象。使用坐标区对象的 XTick 和 XTickLabel 属性指定 x 轴刻度值和关联的标签。按照同样的方式指定 y 轴刻度值和关联的标签。

ax = gca;
ax.XTick = -2*pi:pi/2:2*pi;
ax.XTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0','\pi/2','\pi','3\pi/2','2\pi'};
ax.YTick = -pi:pi/2:pi;
ax.YTickLabel = {'-\pi','-\pi/2','0','\pi/2','\pi'};
Matlab表达式三维绘图函数fplot3

共计5人评分,平均4.6

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

文章目录

转载文章,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/articles/592.html

(1)
微信公众号
古哥的头像古哥管理团队
上一篇 2020年10月26日 20:35
下一篇 2020年10月28日 22:04

你可能感兴趣的文章

发表回复

登录后才能评论
微信小程序
微信公众号