永发信息网

mathematica如何定义动态矩阵

答案:1  悬赏:60  手机版
解决时间 2021-04-23 17:11
mathematica如何定义动态矩阵
最佳答案

……Mathematica里没有也不需要这样的概念.你说说你想实现什么吧.
再问: 一个奇数阶矩阵,一圈是“*”,一圈是“0”,交错着的。用一个函数表示
再答: 唔……难点是逻辑构建呢……本来对于这个,Part有一种语法可以使用,结合递归(Nest之类)应该可以写出比较好的代码。但是我一时想不出好的递归逻辑,所以就用个偷懒但直观的翻译方法吧,反正这样也够快了,而且你也只是想知道矩阵的定义方法嘛:n = 31;
mat = ConstantArray["*", {n, n}];
mid = (1 + n)/2;
Set[Part[mat, ##], 0] & @@@
Select[Flatten[Table[{i, j}, {i, n}, {j, n}], 1],
OddQ[#[[1]]] && (mid - Abs@(mid - #[[1]]) <= #[[2]] <=
mid + Abs@(mid - #[[1]])) ||
OddQ[#[[2]]] && (mid - Abs@(mid - #[[2]]) <= #[[1]] <=
mid + Abs@(mid - #[[2]])) &];
mat // MatrixForm————————把递归式的想出来了。比上面的解法快50倍:n = 31;
mat = ConstantArray["*", {n, n}];
mid = (1 + n)/2;
mat[[mid, mid]] = 0;
i = 2;
Nest[(
mat[[mid - i, mid - i ;; mid + i]] = 0;
mat[[mid + i, mid - i ;; mid + i]] = 0;
mat[[mid - i + 1 ;; mid + i - 1, mid - i]] = 0;
mat[[mid - i + 1 ;; mid + i - 1, mid + i]] = 0; i += 2;) &, ,
1/4 (-2 - I^(1 + n) + n)];
mat // MatrixForm

再问: ...太强大了吧。。。


我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
宽带连接错误代码678
我被别人误认为是小三,她在新鲜事一直发我和
现在最好玩的游戏是?
一天一天地是什么意思,前一天是什么意思
EN9500GT/DI/512M用什么显卡驱动?
我有3万块想在南宁开手机店钱不够可以先向厂
货运资格证14年学习的,15年应该盖章 超过半
为什么我的DNF输入了帐号密码之后,游戏会消
用Java写1的1次方加2的2次方一直加到100的100
公司金融是什么,金融控股公司是什么意思
求:好看的手机外形要特别
迅雷下载组件怎么删不掉啊
看电视眼痛什么办
反羊绒要怎么清洗?
动车安全吗?
推荐资讯
魔兽世界哪区哪个服务器好
朋友们帮忙猜猜这个谜语
我说了一句很难听的话女朋友的爸爸生气,我该
像中一样的国际区号0086,美国的是多少?德国
ASA是否支持失效处理机制?
额,学习真麻烦,但是又觉得时间过得很快这是
家庭成长案例
以“时间”为话题的满分作文
头晕.恶心..有没有什么快速解决的办法?
日本动画片排行榜.
旅游磨子石作文大全
我是1989年冬月初四晚上出生的,想知道我的爱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?