作者candy88257 (阿泰斯)
看板MATLAB
标题[讨论] 四阶张量简化为二阶张量?
时间Fri Sep 6 14:29:38 2013
有一四阶张量 c(ii,jj,kk,ll)
要怎简化为二阶的张量 c(p,q) ??
其中
ii,jj ----> p (注: c(ii,jj,kk,ll)的ii,jj转换为p; kk,ll则转换为q)
1,1 1
1,2 6
1,3 5
2,1 6
2,2 2
2,3 4
3,1 5
3,2 4
3,3 3
例:
c(1,2,2,3)=c(6,4)
c(3,1,2,2)=c(5,2)
......
这种简化要怎麽写?
是有一种写法是一个一个慢慢写...
也就是 c(1,1,1,1)=c(1,1) ; c(1,1,1,2)=c(1,6) ......
但是这样要写很久,应该有更简单的写法
恳求高手协助!!!感谢!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.130.17.157
1F:推 celestialgod:找转换逻辑吧 相同是他自己 相加多少是多少那样 09/06 14:48
2F:推 celestialgod:看起来像是if(ii=jj) p=ii elseif(ii+jj=3) p=6.... 09/06 14:50
3F:推 H45:为什麽 c(1,1,1,2)=c(1,6); 而不是 c(1,1,1,2)=c(1,2); 09/06 15:50
4F:→ H45:这些索引值有什麽规定吗? 09/06 15:52
5F:→ H45:而且 c(1,1,1,1)=c(1,1) 等号左右边写反了吧? 09/06 15:53
6F:→ ejialan:if (ii==jj), p=ii; else, p=9-ii-jj; end 09/06 16:09
7F:推 alamabarry:一看就是固体力学的弹性系数@@ 09/06 16:21
8F:→ alamabarry:主要是因为有一些对称性的关系才可以化简 09/06 16:23
9F:→ candy88257:这是"张量"里面的东西,就如我上面表格那样。 09/06 16:23
10F:→ candy88257:感谢楼上回答的大大!! 09/06 16:25
11F:推 alamabarry:四阶无法化成二阶 09/06 23:12
12F:→ alamabarry:除非Cijkl=Cjikl=Cijlk=Cklij 09/06 23:13
13F:→ alamabarry:类似的情况 09/06 23:13
14F:→ candy88257:恩,我研究的就是您说的那块 09/07 04:17
15F:→ candy88257:无法转二阶的话我也不会想写转换的程式码了 09/07 04:18
16F:→ candy88257:程式码我已经写好了,真的非常感谢楼上 09/07 04:20
17F:→ candy88257:助我转换逻辑 09/07 04:20