这个问题远没有看上去那么微不足道。乐趣!
酷。
不错的
好一个
所有得分金宝搏官方网站为10或11的解决方案都使用regexp作弊。
好一个
不错的
我喜欢这个!正是因为这个才知道了inhilb函数!
简单的技巧
这个解决方案适用于matlab,但不在这里。
函数a = checkerboard(n)
θ=π/ 2:π/ 2:n *π/ 2;
= (sin(θ)‘* sin(θ)+ cos(θ)* cos(θ);
结束
很好
这是一个好问题!
非常好!;)
好了!
这是一个好问题!
好
好!
好
好一个
好一个
我不能……
不错的问题
不错的
我有点困惑,但我为最终的结果感到骄傲,即使我为这个做了47行代码,哈哈!
不错的
很好,我可以想出一些方法来做到这一点。总的来说,我不喜欢for循环,所以我尽量减少使用,但最后只减少了一个for循环和一个眼睛命令。享受吧!
函数a = checkerboard(n)
一个= 1 (n);
(2:2: n ^ 2) = 0;
结束这段代码给我正确的答案在软,但在这里失败了
好问题。有助于理解逻辑运算符的使用。
偶数部分n=4是棘手的,提示:谷歌它
% % cherboard
function [board] = Chekerboard(n)
%%设置bord矩阵为零
董事会= 0 (n, n);
对于j = 1:n
如果0行是偶数,则取mod(j,2)==0 %
因为我= 1:2:n
董事会(j,我)= 1;
结束
Else mod(j,2)== 1%如果1,行是奇数
对于t = 2:2:n
董事会(j, t) = 1;
结束
结束
结束
这工作和容易理解~
函数a = checkerboard(n)
如果国防部(n, 2) = = 1
b = 1 (n, n);
因为我= 2:2:n ^ 2
b (i) = 0;
结束
a = b;
其他的
b = 1 (n + 1);
因为我= 2:2:(n + 1) ^ 2
b (i) = 0;
结束
a = b (1: n, 1: n);
结束
结束
我只是做
(1:2 2:2: n: n) = 0;
2:2 (1:2: n: n) = 0;
实际上相当简单
已解决问题的“规模”是多少?它是如何计算的?
缺少一行吗?
一个= 0 (n)
下面的答案是正确的,但被标记为错误的。
函数a = checkerboard(n)
一个= 1 (n);
(2:2:结束)= 0;
结束
哈哈
对于一个确定的“n”,它可能是正确的,但对于其他值,它是错误的,这就是为什么它要做几个测试。
n为偶数时无效,请重新检查
菲利普,请删除这个解决方案,这样我们才能看到真正的最佳答案
函数a = checkerboard(n)
b = 1 (n);
i = 1: n
j = 1: n
如果(mod (i + j, 2))
b (i, j) = 0;
结束
结束
结束
a = b
结束
菲利普似乎是个头脑发昏的“主要解决方案者”。
最好的解决方案在哪里?
函数a = checkerboard(n)
T1 = ones(n,1) * (1:n);
T = t1 + t1';
A = bitget(t+ 1,1);
结束
函数a = checkerboard(n)
一个= 0 (n);
1:2 (1:2: n: n) = 1
2:2 (2:2: n: n) = 1
结束
a = ~rem((1:n)+(1:n)',2) %
让我有点困惑,但最后我用简短的方式解决了它。
我们写了
t = n * n
s = 1:1: t
U = mod(s, 2)
A =重塑(u, [n, n]);
在matlab中给出了正确的矩阵。那么,为什么我们会失败呢?
: O (
你输了偶数个案子
不正确的棋盘(2)
生病的
厅堂JAYA栖身 !!!!!!!!!!
非常容易
做得很好。出于您的兴趣,第二个循环不是必需的,因为“mod(i+2,2)+1:2:n”可以直接用作索引。
好
这太酷了!!
我看不出我的解决方案有什么问题?
考虑第一次迭代(I=1 & j=1)。变量"value"被初始化,因此第一个条件测试为真,因此这个矩阵元素被设置为1(没有改变!),"value"被设置为0。然而,没有完成这个迭代(请参阅“continue”语句),而是遇到了第二个“if”语句,因为“value”现在是0,第二个条件也为真,所以第一个矩阵元素最终被更改为0!
如果使用一个包含“else”的if语句,你的运气会更好。
我相信这是解决这个问题的最好的“合法”解决方案之一。金宝搏官方网站好工作。
非常聪明!
这个恼人问题的总结:
method size(min), invhilb 14, toeplitz 17, hankel 23, repmat with eye 24, meshgrid 25, 1-D为28,2-D为31,ones赋值36,重塑38
LETSGOOOO
请不要用“for…end”。推荐在matlab中使用。
用MOD(X,2)函数求最短解。哪一个好三倍?
不知道是否允许使用bsxfun,但这是有效的
函数a = test (n)
一个= 1 (n);
(2:2:元素个数(a)) = 0;
结束
知道为什么这只适用于奇数行/列的矩阵吗?在偶矩阵上它把整行变成0或1
1和0应该是交替的,不管它们的位置是什么。在偶数列/行中,元素a(1,1)和a(1,2)保持不变,即1和1,所以它对偶数列/行不起作用。
程序提交正确的解决方案。这个断言失败了,为什么呢?
我不知道为什么这个在我的comp上不工作。
肯定有更好的办法
这个在matlab中可以用,但在这里不行
函数a = checkerboard(n)
θ=π/ 2:π/ 2:n *π/ 2;
= (sin(θ)‘* sin(θ)+ cos(θ)* cos(θ);
结束
嘿mec。您所创建的函数you在上三角和下三角部分给出了负的1(数据类型double),而输出应该全部为正,所以首先使用int函数转换为数据类型integer,然后使用逻辑转换为1和0。
有趣的一个!
很好地使用了递归!
很好,想找到最简洁的答案
通过添加regexp作弊,提高了12。
该解决方案使用toeplitz函数
呵呵
如果能看到更好的解决方案就好了。金宝搏官方网站
我喜欢它通过“把事情掩盖起来”让事情变得更好,也就是把所有的计算隐藏在其他函数....中
当n >= 15时,inhilb的计算时间很短。如果inhilb函数可以被强制近似答案,而不是在n < 15时使它变慢的精确整数响应,那将是有趣的
解是不正确的,因为它是静态的,只适用于n=4和n=5
为什么这行不通?????
一个= repmat(眼(2),n);
因为repmat命令显然不能得到奇数矩阵维数。
输出是所需大小的两倍——repmat函数将给定矩阵重复n次。所以repmat(eye(2),1)给出[1 0;0 1],而不是[1]。
对于n大于4的所有偶数解都是错误的…
调试的代码是:
//www.tatmou.com/matlabcentral/cody/problems/4-make-a-checkerboard-matrix/金宝搏官方网站solutions/299777
喜欢它,简单!
当n = 9时执行。
H = inhilb (n)生成精确inhilb (n)的精确逆给出n小于15的希尔伯特矩阵。对于较大的n, inhilb (n)产生逆希尔伯特矩阵的近似。
这个解决方案怎么错了?!
当n是偶数时,如n=4, a不是预期的输出