soaringbird 发表于 2004-3-26 10:18:43

【求助】关于矩阵相乘问题怎么解决?

我在说明中看到说没有矩阵乘法运算
(一)但是我在离散过程中,出现了矩阵相乘,怎么解决?

举个例子说明一下,比如说我对微分方程时间离散后出现了这样的
格式:
U(t+∆t)=A+M*KNI*F

要说明的是矩阵A是矩阵M、K、∆t三者经过一定运算得到的矩阵,
KNI为K矩阵的逆矩阵。

这样就出现矩阵相乘,怎么解决上面的问题呢?假如不能改变离散方法。

可以通过插入FORTRAN程序,实现上述中间量和矩阵乘法的运算,然后再
代入吗?比方说,我用FORTRAN程序算出M*KNI*F=MM,然后将MM代入?
如果可以,那么是不是MM的运算得插入到FORCE之前?

(二)从上面的离散格式可以看出,总体刚度矩阵应该就是单位阵,
单位阵怎么表示啊?:)

静候佳音。。。

seeksilence 发表于 2004-3-26 15:26:02

回复: 【求助】关于矩阵相乘问题怎么解决?

矩阵相乘会破坏稀疏性,在有限元方法中都不采纳

soaringbird 发表于 2004-3-26 16:39:46

回复: 【求助】关于矩阵相乘问题怎么解决?

那您的意思就是说:
1、这样矩阵相乘,非常不好。不能建立这样的离散格式。
2、fepg不支持这样的运算?

那怎么办啊,除了修改离散格式,没有其他方法解决嘛?

soaringbird 发表于 2004-3-28 15:46:56

回复: 【求助】关于矩阵相乘问题怎么解决?

看来,斑竹今天放假,呵呵

seeksilence 发表于 2004-3-29 09:06:31

回复: 【求助】关于矩阵相乘问题怎么解决?

1. 非常不好。
2. NFE中不支持。
别的方法我也不知道。

soaringbird 发表于 2004-3-29 10:10:04

回复: 【求助】关于矩阵相乘问题怎么解决?

哦,这样啊,那么我还想问一下,既然nfe语言中不支持,
那么,(一)我可不可以通过插入FORTRAN程序,实现上述中间量和矩阵乘法的运算,然后再代入吗?比方说,我用FORTRAN程序算出M*KNI*F=MM,然后将MM代入?
如果可以,那么是不是MM的运算得插入到FORCE之前?

(二)另外如果总体刚度矩阵应该就是单位阵,
单位阵怎么表示啊?:)

seeksilence 发表于 2004-3-29 10:28:35

回复: 【求助】关于矩阵相乘问题怎么解决?

插fortran程序的话求解器可能有问题,稀疏性全破坏了,存储方式也不一致,这样的话求解器都得改,很trouble。
单位阵可借助mass段实现
mass %1 1.0

soaringbird 发表于 2004-3-29 10:45:06

回复: 【求助】关于矩阵相乘问题怎么解决?

也就是说,稀疏性破坏,会影响计算的精度与速度?
修改求解器应该是非常专业的问题了是吗?
页: [1]
查看完整版本: 【求助】关于矩阵相乘问题怎么解决?