for i = 1 to m
for j = 2 to n
A(i,j) = A(i,j) + A(i,j-1)
end
end
或者把每一列抽出来,形成n个子矩阵稿旁桥,键猛启闭叠加后拼成新矩阵。
function LoopCalcGlobalStif% 计算并组集整体刚度矩阵
% 输入数据:
竖仔手 % NONE
% 输出数据:
% NONE
%
%%
global gElt
%%
%计算并组集整体刚度矩阵
iLenElt=size(gElt,1)
for ie=1:iLenElt
%计算单元刚度矩阵
ENodes(:,1)=gElt(ie,:)
iN=size(ENodes,1)
戚友 Ke=zeros(2*iN,2*iN)
if iN==3
Ke=Tri3EleStif(ie)
%elseif iN==4
% Ke=Quad4EleStif(ie)
end
%组集
AssembleEleStif(ie,Ke)
end
%--------------------------------------
%--------------------------------------
%%
%子程序
function AssembleEleStif(ie,Ke)
% 组集单元刚度矩阵到整体刚度矩阵
% 输入数据:
% ie------element number
% Ke------element stifness matrix
% 输出数据:
% NONE
%
%%
global gElt
global gKA
%%
ENodes(:,1)=gElt(ie,:)
EN=size(ENodes,1) %单元的结点总数
%单元的第i个节点
%在Ke单元刚度矩阵中位置为[2*i-1:2*i, 2*j-1:2*j]小方块的余嫌矩阵
%在gKA整体刚度矩阵中位置为[2*ENode(i)-1:2*ENode(i), 2*ENode(j)-1:2*ENode(j)]
for i=1:EN
for j=1:EN
nodi= ENodes(i) %第i个结点号
nodj= ENodes(j) %第j个结点号
dK = gKA(2* nodi-1:2* nodi,2* nodj -1:2* nodj) %组集前的总刚矩阵值
gKA(2* nodi-1:2* nodi,2* nodj -1:2* nodj)= dK + Ke(2*i-1:2*i,2*j-1:2*j)
end
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)