- 积分
- 3
- 注册时间
- 2011-1-2
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2012-11-24 12:58:36
|
显示全部楼层
来自 上海
当然,这样就更简便了
GuX = {1, 22, 43, 64,
85}; GuY = {43};(*二维平面问题,GuX为x方向固定的节点标号,GuY为y方向固定的节点标号,GK为m*m的总刚度矩阵*)
For[k = 1, k <= Length[GuX], k++, GK[[2*GuX[[k]] - 1, All]] = 0;
GK[[All, 2*GuX[[k]] - 1]] = 0;
GK[[2*GuX[[k]] - 1, 2*GuX[[k]] - 1]] = 1];
For[k = 1, k <= Length[GuY], k++, GK[[2*GuY[[k]], All]] = 0;
GK[[All, 2*GuY[[k]]]] = 0; GK[[2*GuY[[k]], 2*GuY[[k]]]] = 1];
或者采用乘大数法
For[k = 1, k <= Length[GuX], k++,
GK[[2*GuX[[k]] - 1, 2*GuX[[k]] - 1]] = 10^20];
For[k = 1, k <= Length[GuY], k++,
GK[[2*GuY[[k]], 2*GuY[[k]]]] = 10^20]; |
|