MATLAB社区

MATLAB,社区等

二十岁:一个生日,一场比赛,一场图像爆炸

正如我在我的最后发表在MathWorks社区博客上,我们正在庆祝一个重要的里程碑:MATLAB Central已经20岁了!
这是个不错的数字,20。某些数字给人的感觉很友好,我一直很喜欢20。它挂在二进制和十进制的角落里,对每一个走过的人都微笑着。我们能做些什么来纪念它和MATLAB中心?有哪些因素让《20》如此令人钦佩?我能想到几个。
因素(20)
ans = 1×3
2 2 5
它的字面因数清楚地表明,20是一个所谓的代词数。这意味着它的形式是n*(n+1)
4 * 5
Ans = 20
这就是你的倾向。我喜欢你可以把一个关于数字的无趣的事实,给它一个花哨的名字,突然之间它就变得有趣了。抚摸着山羊胡子,说:“是的,pronic。是的。”].
现在,我们可以用这些因素做什么呢?
D =除数(20)
d = 1×6
1 2 4 5 10 20
和(d)
Ans = 42
这很有趣。生命、宇宙和万物的答案可能是42,但问题是什么呢?现在你知道了:“20的除数和是多少?”(对于那些在家跟随的人,请注意:除数来自符号数学工具箱。)
我写了一首赞美20岁的短诗。它是这样的。
二、四、六、八!
我们欣赏谁?
Sum ([2 4 6 8])
Ans = 20
是的,是我们的朋友20。我们可以像这样重构代码和诗歌。
一到四的和的两倍!
我们喜欢的数字是多少?
2 *总和(1:4)
Ans = 20
1到n的和是第n项三角形数.我们注意到20是第四个三角形数的两倍。20本身就是4四面体数量.看看这些“形成图案的“数字积累。
单位= [1 1 1 1]
单位= 1×4
1 1 1 1
线性=累积(单位)
线性= 1×4
1 2 3 4
三角形=累加(线性)
三角= 1×4
1 3 6 10
四面体= cumsum(三角形)
四面体= 1×4
1 4 10 20
二、四、六、八!
我们如何积累?
好吧,我不写诗了。但所有这些累积提醒我,同样的一组数字可以在布莱斯·帕斯卡最喜欢的三角形.看,坐在右下角的,是我们的贵宾。
帕斯卡(4)
ans = 4×4
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20

20个字符

这些是我们可以用数字20做的事情。数论够多了!我们能用20个字符的代码做什么?这里有一个漂亮的情节,只用了15个角色。默认的颜色会产生很好的墨西哥毯效果。就叫它小地毯吧。哈。
% 20字符。限制= > |
区(魔法(20))
没有坐标轴会更好看,但那样会超出字符限制。
这是为了纪念Cleve Moler, MATLAB之父。看,这20个字揭示了硅藻土矩阵是20阶的。
% 20字符。限制= > |
画廊(“硅藻土”, 20)
ans = 20×20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
-1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-1 0 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
-1 0 1 4 2 2 2 2 2 2 2 2 2 2 2 2 2
-1 0 1 2 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
-1 0 1 2 3 6 4 4 4 4 4 4 4 4
-1 0 1 2 3 4 7 5 5 5 5 5 5 5 5 5 5
-1 0 1 2 3 4 5 8 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
-1 0 1 2 3 4 5 6 9 7 7 7 7 7 7 7 7 7 7 7
-1 0 1 2 3 4 5 6 7 10 8 8 8 8 8 8 8 8 8 8 8 8 8
我还需要两行来展示它的样子。很好看,对吧?但是要小心!它有一个非常小的特征值,很容易打乱单纯消去法。至少有人是这么告诉我的。
显示亮度图像(ans)
广场

20行

我们可以用20行代码做什么?这个小Mandelbrot集合正好合适。所有这些甚至都没有通过在一行代码中塞入多条语句来作弊。
P = 500;
X0 = -0.6;
R = 1.5;
K = 50;
X = linspace(x0-r, x0+r, p);
Y = linspace(-r, r, p);
[X, Y] = meshgrid(X, Y);
Z = X + 1i*Y;
m = k*ones(size(Z));
z = z;
N = 0:k
z = z.*z+ z;
H = abs(z)>2;
z(h) = NaN;
M (h) = n;
结束
显示亮度图像(m)
Colormap ([parula(k-1);0 0 0])
平等的

文字竞赛:MATLAB小Hack

摆弄数字、代码和图像很有趣,但我的闲逛是有意义的。我想介绍一个令人兴奋的周年庆祝比赛,我们将于下周启动。我们称之为MATLAB小Hack.这是一个限制字符计数的编码比赛。只要我还在押头韵,我就可以告诉你,这也是合作的,丰富多彩的。
比赛围绕着这个问题展开:你可以用MATLAB用不超过280个字符的代码做出什么样有趣的图像?我给你们举个例子。上面显示的Mandelbrot代码只有278个字符,符合要求。
我们把迷你黑客称为一场比赛,但它实际上主要是为了乐趣。考虑到这一点,我们鼓励您不仅贡献您的原创想法,而且还可以窃取,或者更确切地说“重新混合”其他人的代码。以他们的想法为基础,做出更丰富多彩的恶作剧。如果您看到有人重新混合您的代码,请记住:这是一件好事!感到骄傲。
我对这个比赛感到非常兴奋,本周五(10月1日)美国东部时间上午10点,我将在Instagram上做一个现场活动,我将谈论MATLAB中心的历史,我们是如何庆祝20周年的,以及关于这个疯狂的万花筒般的比赛你需要知道的一切。
说到万花筒,我将以280个旋转对称的快乐字符作为结束。
X = linspace(0,4 *pi);
Y = 0.5*x.*sin(x);
h1 = plot(x, y, LineWidth=6);
K = 20;
C = hsv(k);
N = 1:k
H2 = copyobj(h1, gca);
T = hgtransform;
集(h2,父母= t,颜色= c (n,:))
= n*2*pi/k;
rot = makehgtform(ZRotate=theta);
组(t矩阵=腐烂);
结束
平等的

|
  • 打印
  • 发送电子邮件

コメント

コメントを残すには,ここをクリックしてMathWorksアカウントにサインインするか新しいMathWorksアカウントを作成します。