指数函数的图形比较
此示例讨论确定两个值中较大值的图形方法。: 和 .
用于数值的图形比较 和 让我们构造指数函数的差函数的表面 .
要做到这一点,首先,安装并连接库。 CairoMakie.
In [ ]:
import Pkg; Pkg.add("CairoMakie");
using CairoMakie;
定义表面坐标数组。
In [ ]:
x = 0:0.05:4; y = 0:0.05:4;
X = [i for i in x, j in 1:length(y)]; Y = [j for i in 1:length(x), j in y];
Z = X.^Y-Y.^X;
让我们使用给定的函数构造一个表面。
In [ ]:
using CairoMakie
# Создаем фигуру и 3D оси
fig = Figure(;size = (600, 600));
ax = Axis3(fig[1, 1],
title = "Показательные функции",
xlabel = "Ось X", ylabel = "Ось Y", zlabel = "Ось Z",
aspect=(1,1,1), azimuth=-pi*0.64);
# Создаём поверхность
CairoMakie.surface!(ax, x, y, Z,
colormap = :prism,
colorrange = (minimum(Z), maximum(Z)));
# Добавляем цветовую шкалу
Colorbar(fig[1, 2],
limits = (minimum(Z), maximum(Z)),
colormap = :prism, label = "Значения");
display(fig);
在飞机上 让我们在构造的表面上绘制一个轮廓。
In [ ]:
CairoMakie.contour3d!(ax, x, y, Z,
levels = [0],
color=:black, linewidth=2)
display(fig);
在构造的轮廓上有几个点的方程的整数解。 . 让我们在等值线上绘制这些点。
In [ ]:
# массивы целочисленных решений уравнения
ix=[0,1,2,2,3,4,4]
iy=[0,1,2,4,3,2,4]
iz=zeros(7)
CairoMakie.scatter!(ax, ix, iy, iz;
color=:black)
display(fig);
现在让我们绘制所需函数的点 和 通过坐标: 和 .
In [ ]:
e=exp(1);
tx=[pi,e]
ty=[e,pi]
textt=["pi,e", "e,pi"]
tz=tx.^ty-ty.^tx
CairoMakie.scatter!(ax, tx, ty, tz;
color=:white)
CairoMakie.text!(ax, tx, ty, tz;
text = textt, align = (:right, :bottom),
color = :white)
display(fig);
从构造中可以看出,具有坐标的点 它位于平面上方的表面部分。 ,和点 -在割线平面下方的表面的部分中。 为了更容易查看点的位置,您可以编辑轴的方位角并屏蔽代码单元格。:
In [ ]:
Азимут=-0.38 # @param {type:"slider",min:-6.28,max:6.28,step:0.1}
ax.azimuth[] = Азимут;
display(fig);
由此我们可以得出结论, 更多 . 为了确认,我们将计算这些值。
In [ ]:
@show e^pi, pi^e;
结论
在这个例子中,我们考虑了一种可视化的方法,以图形方式找到两个值中较大的一个。




