我正在尝试解决 Code Golf: Build Me an Arc问题。我的解决方案还不错,但我想,有一种更简单的方法可以做到这一点。在给定 n
的情况下,有人知道如何生成这样的 nxn
矩阵吗?我花了 57 个字符得到它!
3 0 0 0 2 0 0 0 1
0 3 0 0 2 0 0 1 0
0 0 3 0 2 0 1 0 0
0 0 0 3 2 1 0 0 0
4 4 4 4 8 8 8 8 8
0 0 0 5 6 7 0 0 0
0 0 5 0 6 0 7 0 0
0 5 0 0 6 0 0 7 0
5 0 0 0 6 0 0 0 7
我想打败其中的一些matrices成型。
更新:
这就是我现在得到它的方式。
%%# Create the grid
[X Y]=meshgrid(-r:r);
%%# Compute the angles in degrees
T=atan2(-Y,X)/pi*180;
%%# Get all the angles
T=T+(T<=0)*360;
如您所见,我不需要 T
中的大部分条目。
最佳答案
由于这与 Code Golf 问题相关,请考虑:
[X Y]=meshgrid(r:-1:-r,-r:r);
T=180+atan2(Y,X)*180/pi;
这将为您节省 3 个字符...
关于matlab - 我如何在 Matlab 中创建这个矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3374730/