MATLAB - 非均匀网格上的有限元

时间:2016-03-10 00:41:41

标签: matlab

我正在使用有限元方法在MATLAB中求解二阶微分方程,其中我将函数f的二阶导数写为:

d ^ 2f / dx ^ 2 =(f_ {i} -f_ {i-1} /(x_ {i} -x {i-1}) - f_ {i + 1} -f_ {i} / (X_ {I + 1} -x {I})/(X_ {I + 1} {-x I-1})/ 2

现在对f的这个操作可以转换成矩阵,然后我可以找到特征向量,然后是给定微分方程的解。 所有这些都适用于x值的均匀网格,即相同的间距。但是当我尝试为不均匀的情况做这件事时,我得到的振动不应该存在,因为矩阵中的值根据相邻网格点的接近程度而加权不同。 我的方法有误吗?我应该使用某种加权来处理不均匀性吗?

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确,但是您写的关系: d ^ 2f / dx ^ 2 =(f_ {i} -f_ {i-1} /(x_ {i} -x {i-1})-f_ {i + 1} -f_ {i} /(x_ { i + 1} -x {i})/(x_ {i + 1} -x {i-1})/ 2

看起来像是有限差分而不是有限元!!!

否则,在大多数力学问题中,有限元方法并不关心元素大小从一个点到另一个的变化。

如果要处理有限差分问题,则该方法不必具有规则的网格,但是必须“仔细”编写关系,以避免系统矩阵中可能包含的混乱。

相关问题