| 查看: 801 | 回复: 6 | ||
百里道木虫 (初入文坛)
|
[求助]
矩阵输出
|
|
类似于下面 a=[1,2;3,4] b=[5,6;7,8] c=[9,10;11,12] d=[13,14;15,16] for k=1:4 A=[a(k),b(k);c(k),d(k)] end 会输出四个2*2的矩阵, 但是现在我知道的是9个11*21的矩阵,我想要得到的是11*21=231个3*3的矩阵,请问怎么做?而且231个矩阵我想按同一个字母加下标(两个下标)来表示?请问怎么做? |
» 猜你喜欢
推荐一款可以AI辅助写作的Latex编辑器SmartLatexEditor,超级好用,AI润色,全免费
已经有20人回复
【EI|Scopus 双检索】第六届智能机器人系统国际会议(ISoIRS 2026)
已经有1人回复
物理学I论文润色/翻译怎么收费?
已经有62人回复
2026年第四届电动车与车辆工程国际会议(CEVVE 2026)
已经有0人回复
德国亥姆霍兹Hereon中心招收两位医用镁合金腐蚀与LPSO相变方向2026公派博士生
已经有0人回复

alorsmail
铁杆木虫 (著名写手)
- 应助: 52 (初中生)
- 金币: 7398.3
- 红花: 41
- 帖子: 2104
- 在线: 237小时
- 虫号: 2537936
- 注册: 2013-07-09
- 专业: 系统生物学
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
百里道: 金币+10, ★★★很有帮助 2013-08-22 11:00:11
csgt0: 金币+1, 谢谢 2013-08-22 15:46:03
感谢参与,应助指数 +1
百里道: 金币+10, ★★★很有帮助 2013-08-22 11:00:11
csgt0: 金币+1, 谢谢 2013-08-22 15:46:03
|
这个不难,运行下面的程序,你会得到 231个独立命名的矩阵, 前缀为 sublock, 后面第一个数字是 坐标 x, 第二个数字是 坐标 y 祝好运! ========================================== clear; clc B = rand(11*3, 21*3) ; for i = 1:11 for j = 1:21 t = B((i-1)*3+1:i*3, (j-1)*3+1:j*3); eval(['subloc_' num2str(i) '_' num2str(j) '= t;']) end end |
2楼2013-08-21 19:15:20
百里道
木虫 (初入文坛)
- 应助: 0 (幼儿园)
- 金币: 1797
- 散金: 5
- 帖子: 46
- 在线: 11.1小时
- 虫号: 1070800
- 注册: 2010-08-07
- 性别: GG
- 专业: 工程热物理相关交叉领域
|
先谢谢你,按照你说的只是将大矩阵分块, 我前面提到的 a=[1,2;3,4]; b=[5,6;7,8];c=[9,10;11,12];d=[13,14;15,16];B=[a,b;c,d]; for i = 1:2 for j = 1:2 t = B((i-1)*2+1:i*2, (j-1)*2+1:j*2); eval(['subloc_' num2str(i) '_' num2str(j) '= t;']) end end 得到结果是subloc_1_1=a,subloc_1_2=b,subloc_2_1=c,subloc_2_2=d,这不是所需要的 想得到的结果应该是subloc1_1=[1,5;9,13],类似这样的结果,请问该怎么改? |

3楼2013-08-22 10:49:29
百里道
木虫 (初入文坛)
- 应助: 0 (幼儿园)
- 金币: 1797
- 散金: 5
- 帖子: 46
- 在线: 11.1小时
- 虫号: 1070800
- 注册: 2010-08-07
- 性别: GG
- 专业: 工程热物理相关交叉领域

4楼2013-08-22 10:59:52
百里道
木虫 (初入文坛)
- 应助: 0 (幼儿园)
- 金币: 1797
- 散金: 5
- 帖子: 46
- 在线: 11.1小时
- 虫号: 1070800
- 注册: 2010-08-07
- 性别: GG
- 专业: 工程热物理相关交叉领域

5楼2013-08-24 10:50:13
alorsmail
铁杆木虫 (著名写手)
- 应助: 52 (初中生)
- 金币: 7398.3
- 红花: 41
- 帖子: 2104
- 在线: 237小时
- 虫号: 2537936
- 注册: 2013-07-09
- 专业: 系统生物学
★
csgt0: 金币+1, 谢谢 2013-08-26 13:44:46
csgt0: 金币+1, 谢谢 2013-08-26 13:44:46
|
我以为你只是想得到这些矩阵 好吧,如果想调用方便,那么可以用如下程序 : ========================================== clear; clc B = rand(11*3, 21*3) ; for i = 1:11 for j = 1:21 t = B((i-1)*3+1:i*3, (j-1)*3+1:j*3); sublock{i,j} = t; end end ========================================== 也就是说, sublock 的每一个元素,都是一个 3*3 的矩阵 调用的时候就是 x = sublock{i,j}; 就可以了 |
6楼2013-08-24 14:37:34
百里道
木虫 (初入文坛)
- 应助: 0 (幼儿园)
- 金币: 1797
- 散金: 5
- 帖子: 46
- 在线: 11.1小时
- 虫号: 1070800
- 注册: 2010-08-07
- 性别: GG
- 专业: 工程热物理相关交叉领域

7楼2013-08-24 15:50:45













回复此楼