首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MATLAB中向特定点添加值

在MATLAB中向特定点添加值
EN

Stack Overflow用户
提问于 2017-03-13 16:07:13
回答 1查看 144关注 0票数 0

为了建立桁架的整体刚度矩阵,需要将刚度矩阵叠加到全局刚度矩阵上。我首先创建了一个零矩阵

代码语言:javascript
复制
K=zeros(6,6); %Empty global stiffness matrix

然后,我想要覆盖一个4x4矩阵(Ke)到正确的位置。例如:

代码语言:javascript
复制
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.

我找到了一段可以工作的代码,但恐怕我不明白为什么。下面是:

代码语言:javascript
复制
sctr = [2*n1-1 2*n1 2*n2-1 2*n2];
K(sctr,sctr) = K(sctr,sctr) + Ke;

按照我上面的示例n1n2应该是n1=1n2=3。n1和n2对应于元素的开始节点和结束节点。当然,这是在一个循环内,它将计算每个单元的刚度矩阵,并将其覆盖到全局矩阵。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-13 16:23:35

对于给定的n1n2值,sctr

代码语言:javascript
复制
sctr = [1 2 5 6];

这与要更改的行和列索引相对应。K(sctr,sctr)选择K的4x4子矩阵。Matlab为sctr中每个可能的元素组合选择一个元素。因此,对于每个选定的行(即在sctr中有其索引的行),将选择在sctr中具有索引的列。有关详细信息,请参阅矩阵索引

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42768276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档