【发布时间】:2022-10-07 00:49:13
【问题描述】:
我试图在 MATLAB 中找到有限元分析问题的形状函数。基本形状函数看起来像,左边是边界条件。在 Ni=N1,x=x1,y=y1(节点 1 的坐标)处,形函数等于 1,当 Ni=N1 时,x=x2,y=y2(节点 2 的坐标),形状函数将为 0,依此类推,在 Ni=N2,N3 等处类似。我使用一个名为 A 的符号 16*16 矩阵来表示四个形状函数的 4 个系数。
这是我的代码,用于查找从 N1 到 N4 的四个方程(总共 16 个未知数)的 alpha、beta、gamma 和最后一个希腊字母:
A = sym(\'A\', [4 4]);
eqns = zeros(4,4);
coorx = sym(\'coorx\', [1 4]);
coory = sym(\'coory\', [1 4]);
for i=1:4
for j=1:4
if j==i
eqns(i,j)=A(i,1)+A(i,2)*coorx(j)+A(i,3)*coory(j)+A(i,4)*coorx(j)*coory(j)==1;
else
eqns(i,j)=A(i,1)+A(i,2)*coorx(j)+A(i,3)*coory(j)+A(i,4)*coorx(j)*coory(j)==0;
end
end
end
tst=solve(eqns,A);
tst.A4_4
我测试了很多输出,但是当我应该获得类似 coorx(j)-coory(j) 之类的函数时,我得到的唯一值是 0。你能告诉我为什么吗?
标签: matlab finite-element-analysis