给定一个整数n,使一个n×n矩阵由交替的1和0组成,如下所示。a(1,1)应该是1。
例子:
输入N = 5输出一个为[1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1]
这个问题远比它似乎没有价值的。有趣!
凉。
不错的
好一个
得分为1金宝搏官方网站0或11的所有解决方案都使用regexp作弊。
好一个
不错的
我喜欢这个!就是因为这个才知道了invhilb函数!
简单整蛊
该解决方案适用于MATLAB但不是在这里。
函数a =棋盘格(n)
θ=π/ 2:π/ 2:n *π/ 2;
A =(SIN(THETA) '* SIN(THETA))+ COS(THETA)' * COS(THETA);
结束
很好
这是一个很好的问题!
非常好!;)
太好了!
这是个好问题!
好
好!
好
好一个
好一个
我不能……
好的问题
不错的
困扰了我一下,但我即使我做了这个,哈哈47行代码的最终结果感到自豪!
不错的
不错——我能想出一些方法来做这件事。总的来说,我不喜欢循环,所以我尽量减少使用,但最终只减少了一个for循环和一个eye命令。享受吧!
函数a =棋盘格(n)
一个= 1 (n);
(2:2:n ^ 2) = 0;
结束这个代码给我软正确的答案,但在这里失败
好问题。有助于了解逻辑运算符的使用。
偶数部分n = 4时是棘手的,提示:谷歌它
%% cherboard
函数[板] = Chekerboard(n)的
用零%%集BORD矩阵
董事会= 0 (n, n);
对于j = 1:n
如果MOD(J,2)== 0%,如果零行是偶数
因为我= 1:2:n
板(J,I)= 1;
结束
否则mod(j,2)== 1%如果1,行是奇数
对于t = 2:2:n
板(J,T)= 1;
结束
结束
结束
缺少一条线吗?
一个= 0 (n)
菲利普,请删除此解决方案,所以我们可以看到真正的最佳答案
a = ~rem((1:n)+(1:n)',2) %大小:23
我有点迷惑不解,但最后还是简略地把它解决了。
生病
厅堂JAYA栖身! ! ! ! ! ! ! ! ! !
非常容易
做得好。的关注,则不需要第二环路,如“MOD第(i + 2,2)1:2:N”,可直接使用作为指标。
好
这是太酷了!
我看不出我的解决方案有什么问题。
考虑在第一次迭代(I = 1&J = 1)。变量“值”被初始化,所以第一个条件测试为真,因此该矩阵元素被置为1(无变化!)和“值”设置为0。然而,代替在完成这个迭代(参阅“继续”语句),第二个‘如果’遇到语句,因为‘值’现在是0,这第二个条件也不错,所以第一个矩阵元素最终变为0!
您将有更好的运气与一个单一的if语句,包括“其他”。
我相信这是解决这个问题的最好的“合法”的解决方案之一。金宝搏官方网站做得好。
非常聪明!
这个恼人的问题的总结:
方法大小(分钟),invhilb 14,托普利兹17,汉克尔23,repmat用眼24,meshgrid 25,1- d为28,2-d为31,那些分配值36,重塑38
LETSGOOOO
请不要使用“为... end'.It在MATLAB建议。
试图找到通过使用MOD(X,2)函数的最短溶液。哪一个是更好的三倍?
不知道是不是用bsxfun被允许,但该作品
函数A =测试(n)的
一个= 1 (n);
一个(2:2:numel的(a))= 0;
结束
知道为什么这只对奇数行/列的矩阵有效吗?对于偶矩阵,它把整行变成0或1
在1和0应该是备用无论他们的位置。在偶数列/行中的元件的(1,1)和a(1,2)都保持不变,即1和1,因此它不工作为偶数的列\行。
该方案提交妥善解决。断言失败,这是为什么?
不知道为什么这里THISIS不工作对我的补偿工作时。
一定有更好的方法
这个可以在matlab上运行,但是这里不行
函数a =棋盘格(n)
θ=π/ 2:π/ 2:n *π/ 2;
A =(SIN(THETA) '* SIN(THETA))+ COS(THETA)' * COS(THETA);
结束
嘿mec。您所创建的函数在上三角和下三角部分给出了负1(数据类型double),而输出应该都是正的,所以首先使用int函数转换为数据类型integer,然后使用logical函数转换为1和0。
有趣的!
尼斯使用递归的!
尼斯一个,真的想找到最短的答案
通过添加regexp作弊提高了12。
该解决方案采用了托普利茨功能
呵呵
如果能看到更好的解决方案就好了…金宝搏官方网站
我喜欢把事情通过更好地“扫事在地毯之下!”即隐藏所有的计算中的其他功能....
当n >= 15时,invhilb的计算时间很短。如果invhilb函数可以被强制去近似答案,而不是用n < 15的整数响应来降低速度,那将会很有趣
该解决方案是不正确,因为它是静态的仅适用对于n = 4且n = 5
为什么这不是工作?????
一个= repmat(眼(2)中,n);
因为你显然不能获得与repmat命令奇矩阵的尺寸。
输出是所需要的大小的两倍 - 在repmat函数重复给定的矩阵n次。所以repmat(眼(2),1),得到[1 0 0 1],而不是[1]。
这个解对所有大于4的偶数都是不正确的。
在调试的代码是:
//www.tatmou.com/matlabcentral/cody/problems/4-make-a-checkerboard-matrix/金宝搏官方网站solutions/299777
喜欢它,简单!
执行n = 9。
H = invhilb(n)的生成的确切invhilb的精确逆(N)给出希尔伯特矩阵对于n小于约15.对于更大的n,invhilb(n)的产生逆希尔伯特矩阵的近似值。
这是怎么解决错误?
当n为偶数像N = 4,a不是预期的输出