文章目录(Table of Contents)
前言
最近无意中看到一篇关于绘制matlab图标的文章,Plot MATLAB icon,觉得很有意思,在这里分享一下。
参考资料
关于matlab图标的构成可以看下面两个网址:
The MathWorks Logo is an Eigenfunction of the Wave Equation
下面这个网址上会有matlab的代码:
关于绘制matlab的图标会用到关于PDE的知识,可以查看一下下面的这篇文章Mathematica与数学[1]–偏微分方程数值解(PDE)。
Mathematica代码
n = 200;
shape = ArrayPad[ConstantArray[0, {n/2, n/2}], {{0, n/2}, {0, n/2}}, 1];
shapeVector = Flatten @ Position[Flatten @ shape, 1];
symbolArray = Array[x, {n, n}];
symbolLaplacian = LaplacianFilter[1.0 symbolArray , 1, Padding -> 0];
lapMatrix = Last@CoefficientArrays[
Flatten[symbolLaplacian][[shapeVector]],
Flatten[symbolArray][[shapeVector]]];
{ev} = Eigenvectors[lapMatrix, {-1}];
result = Flatten[shape];
result[[shapeVector]] = ev;
result = Partition[result, n];
ListContourPlot[result]
ListPlot3D[result, BoxRatios -> {1, 1, 0.8}, Mesh -> False,
PlotStyle -> Specularity[White, 30]]
我们可以得到下面的图像,已经和Matlab的图标很相似了。
- 微信公众号
- 关注微信公众号
- QQ群
- 我们的QQ群号
评论