Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2010-05-30
帖子: 4
声望力: 0 ![]() |
![]()
首先感谢你浏览本帖,如果能提点意见,感谢不尽!
问题:二维平面的10万网点(差分法)迭代计算,速度难以忍受,同样程序,划分1000网点的时间是几秒种,划10万网点快一小时还在busy。 难道不是100倍? 具体是这样的,微分方程细网差分化,求线性方程组的特征值。AX=λx这样子,系数A主对角占优。差分方程是5点迭代式,用高斯赛德尔迭代,也用了超松弛因子ω加速收敛。 程序结构很简单,就是输入公式,然后高斯迭代,几百行的样子。程序中的数据都以矩阵形式输入和计算。 为什么划10万网点时间会这么长?1000网点也才几秒种。这样的话3维就没法算了。 优化算法我知道,粗网格的差分法我会。细网差分计算慢这的确是它有的缺点。我想问:就程序上来说,还有没有什么可能提高点效率的,什么clear之类? 谢谢!◎◎◎◎◎◎◎◎◎◎ |
![]() |
![]() |
![]() |
#2 |
普通会员
注册日期: 2007-04-04
帖子: 91
声望力: 20 ![]() |
![]()
只能在算法设计上下点功夫了,MATLAB程序本来效率就不高,遇到高维数据时间肯定会长啊~~
|
![]() |
![]() |