簡體   English   中英

將值添加到MATLAB中的特定點

[英]Add values to specific points in MATLAB

為了創建桁架的整體剛度矩陣,我需要將剛度矩陣疊加到整體框架上。 我首先創建一個零矩陣

K=zeros(6,6); %Empty global stiffness matrix

然后,我想將4x4矩陣(Ke)覆蓋到正確的位置。 例如:

Ke(1,1)->K(1,1)
Ke(1,2)->K(1,2)
Ke(1,3)->K(1,5)
Ke(1,4)->K(1,6)
Ke(2,1)->K(2,1)
Ke(2,2)->K(2,2)
Ke(2,3)->K(2,5)
Ke(2,4)->K(2,6)
etc.

我發現了一段有效的代碼,但我怕我不明白為什么。 這里是:

sctr = [2*n1-1 2*n1 2*n2-1 2*n2];
K(sctr,sctr) = K(sctr,sctr) + Ke;

按照我上面的示例n1n2應該為n1=1n2=3 n1和n2對應於元素的開始和結束節點。 當然,這將在循環內部,該循環將計算每個元素的剛度矩陣並將其覆蓋到全局矩陣。

對於給定的n1n2值, sctr

sctr = [1 2 5 6];

這與您要更改的行和列索引相對應。 K(sctr,sctr)選擇K的4x4子矩陣。 Matlab為sctr元素的每種可能組合選擇一個元素。 因此,對於每個選定的行(即,其索引在sctr ),將選擇其索引在sctr中的列。 有關更多信息,請參見矩陣索引

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM