这个问题远远不如似乎琐碎。乐趣!
酷。
好的
好的
所有Sc万博 尤文图斯ound 10或11的解决方案都使用Regexp作弊。
好一个
好的
我喜欢这一个!关于Invhilb功能的了解只是因为这个!
简单棘手
这个解决方案适用于matlab,但不在这里。
功能a = checkerboard(n)
Theta = PI / 2:PI / 2:N * PI / 2;
a =(SIN(θ)'* sin(θ))+ cos(θ)'* cos(θ);
结尾
很好
这是一个好问题!
非常好!;)
好了!
这是好问题!
好的
好的!
好的
好的
好的
我不能 ...
不错的问题
好的
我有点困惑,但我为最终的结果感到骄傲,即使我为这个做了47行代码,哈哈!
好的
很好 - 我可以想到几种方法来做到这一点。我不喜欢循环,所以我试图尽量减少使用,但最终有一个减少的循环和眼睛命令。享受!
功能a = checkerboard(n)
a = =(n);
a(2:2:n ^ 2)= 0;
结束了这个代码给了我正确的答案,但在这里失败了
好问题。有助于理解逻辑运算符的使用。
偶数部分n=4是棘手的,提示:谷歌它
%% cherboard.
function [board] = Chekerboard(n)
%%设置bord矩阵与零
板=零(n,n);
对于j = 1:n
如果0行是偶数,则取mod(j,2)==0 %
对于i = 1:2:n
板(J,I)= 1;
结尾
else mod(j,2)== 1%if 1,行是奇数
对于t = 2:2:n
板(J,T)= 1;
结尾
结尾
结尾
这是有效,易于理解〜
功能a = checkerboard(n)
如果mod(n,2)== 1
B = =(n,n);
对于i = 2:2:n ^ 2
B(i)= 0;
结尾
a = b;
别的
B =(n + 1);
对于i = 2:2:(n + 1)^ 2
B(i)= 0;
结尾
a = b(1:n,1:n);
结尾
结尾
我刚刚制作了
a(2:2:n,1:2:n)= 0;
2:2 (1:2: n: n) = 0;
实际上相当简单
解决问题的“尺寸”是什么?它如何计算?
错过了一条线?
a = zeros(n)
以下解决方案是正确的,标记错误。
功能a = checkerboard(n)
a = =(n);
a(2:2:结束)= 0;
结尾
哈哈
也许它是一个确定的“n”,但对于其他值是错误的,这就是为什么它做了几次测试。
对于甚至值不适用于n。plz重新检查它
Phillippe,请删除此解决方案,以便我们看到真正的最佳答案
功能a = checkerboard(n)
B =(n);
对于i = 1:n
对于j = 1:n
if(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)
a =零(n);
1:2 (1:2: n: n) = 1
a(2:2:n,2:2:n)= 1
结尾
a =〜rem((1:n)+(1:n)',2)%尺寸:23
难题我一点,但最后我以简短的方式解决了它。
生病的
有人知道为什么这是不对的吗?对我来说在matlab上工作很好:(
当n = 4时,仔细看你的结果。
Mantap Jaya !!!!!!!!!!
好简单
做得好。为您的兴趣,不需要第二循环,作为“Mod(I + 2,2)+1:2:2”可以直接用作索引。
好的
这太酷了!!
我没有看到我的解决方案有什么问题?
考虑第一次迭代(i = 1&j = 1)。初始化变量“值”,因此第一个条件测试为真,因此该矩阵元素设置为1(无变化!),“值”设置为0.但是,而不是完成此迭代(请参阅“继续“声明”,第二个“如果”语句是遇到的,而且因为“值”现在是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,但这是有效的
该计划提交了正确的解决方案。断言失败了,为什么这是?
我不知道为什么这个在我的comp上不工作。
一定有更好的方法
这一个在matlab上工作,但不在这里
功能a = checkerboard(n)
Theta = PI / 2:PI / 2:N * PI / 2;
a =(SIN(θ)'* sin(θ))+ cos(θ)'* cos(θ);
结尾
嘿MEC.您已创建的功能在上三角和下三角形部分中提供负面(数据类型双),而输出应该是所有正为正面的,所以首先使用int函数转换为数据类型整数,然后使用int函数转换为一个和零的使用逻辑。
有趣的!
很好地使用了递归!
很好,真的想找到最短的答案
只需添加Regexp作弊即可提高12。
该解决方案使用Toeplitz功能
呵呵
很高兴能够看到更好的解决方案..万博 尤文图斯
我喜欢它通过“在地毯下的扫地下的东西扫荡!”更好的事情。即躲在其他函数中的所有计算....
对于n> = 15,Invhilb的计算时间非常低。如果可以强制invhilb函数近似答案,则会有趣,而不是对n <15减慢它的确切整数响应
解是不正确的,因为它是静态的,只适用于n=4和n=5
为什么这行不通?????
a = repmat(眼睛(2),n);
因为repmat命令显然不能得到奇数矩阵维数。
输出是所需尺寸的两倍 - repmat函数重复给定的矩阵n次。所以Repmat(眼睛(2),1)给出[1 0; 0 1],不是[1]。
对于n大于4的所有均匀值,解决方案不正确......
调试代码是:
//www.tianjin-qmedu.com/matlabcentral/cody/problems/4-make-a-checkerboard-matrix/万博 尤文图斯solutions/299777.
喜欢它,简单!
为什么错了?他们看起来像棋盘......
看起来你有一个偏袒的问题。当n = 2时,您的代码返回3×3校验板等。
谢谢!看起来我的解决方案无论如何都很糟糕
执行n = 9。
H = inhilb (n)生成精确inhilb (n)的精确逆给出n小于15的希尔伯特矩阵。对于较大的n, inhilb (n)产生逆希尔伯特矩阵的近似。
这个解决方案怎么样?!
当n是偶数时,如n=4, a不是预期的输出
这不应该允许。
漂亮的二进制淋浴。
它的工作不是吗?哈哈。