摘要
Syslab 的绘图与matlab还是有一定的区别,而且在绘图的渲染能力上还是有着挺大差异的。本篇文章仅记录基本的绘图代码。
准备
在你第一次使用Syslab绘图之前,需要在运行这两段代码,安装Plots
库,类似python里的matplotlib
using Pkg
Pkg.add("Plots")
然后静静等待安装结束即可
示例
#julia 有缝隙 (但其实syslab渲染的看不出来缝隙)
using Pkg
x = range(-3 * pi, stop=3 * pi, length=100)
y = x
XX, YY = meshgrid2(x, y) #网格化才能绘图
ZZ = sin.(XX) .* sin.(YY) ./ XX ./ YY
surf(XX, YY, ZZ)
根本看不出缝隙哈哈哈
#无缝隙处理方法
using Plots
x = range(-3 * pi, stop=3 * pi, length=100)
y = x
XX, YY = meshgrid2(x, y)
XX[XX.==0] .= eps() #人为赋值为一个很小的值
YY[YY.==0] .= eps()
ZZ = sin.(XX) .* sin.(YY) ./ XX ./ YY
surf(XX, YY, ZZ)
主要的核心过程就是1.using Plots
2. meshgrid2
3.surf()
即可
下面也附上MATLAB无缝隙代码:
x=-3*pi:pi/15:3*pi;
y=x;
[X,Y]=meshgrid(x,y);
warning off;%关闭警告信息
XX=X+(X==0)*eps;
YY=Y+(Y==0)*eps;
ZZ=sin(XX).*sin(YY)./XX./YY;
%注意这里sin(XX)没有加.,是因为matlab默认数组计算
surf(XX,YY,ZZ),shading interp
%对曲面或图像对象的颜色着色进行色彩的插值处理,使色彩平滑过渡
%这个是一个挺强大的渲染功能
这是MATLAB渲染出的图: