c***u 发帖数: 190 | 1 现在做个简单的数值计算, 老板需要知道怎样能很快,有效的计算5000x5000的矩阵. 我
本人不是很懂科学计算. 也不是很懂matlab 和mathematics. 有人做过类似的活吗?
谢谢 |
t***s 发帖数: 4666 | 2 what do you mean by "compute effectively"?
【在 c***u 的大作中提到】 : 现在做个简单的数值计算, 老板需要知道怎样能很快,有效的计算5000x5000的矩阵. 我 : 本人不是很懂科学计算. 也不是很懂matlab 和mathematics. 有人做过类似的活吗? : 谢谢
|
c******m 发帖数: 599 | 3 5k*5k
如果是稀疏矩阵, matlab就搞定了
【在 c***u 的大作中提到】 : 现在做个简单的数值计算, 老板需要知道怎样能很快,有效的计算5000x5000的矩阵. 我 : 本人不是很懂科学计算. 也不是很懂matlab 和mathematics. 有人做过类似的活吗? : 谢谢
|
c***u 发帖数: 190 | 4 就是5000个linear 线型方程组,I=RxD, R是5000x5000矩阵, 局部会有zero, 知道I和D
(实验上得到的).5000x5000计算对电脑要求比较高吧? 这个有效计算就是仪器采集大量
的数据,然后经过矩阵运算, 转换出我们需要的数据..
哥们能个我一个matlab的简单code吗? 我们可以先用random生成的数试.
谢谢
【在 c******m 的大作中提到】 : 5k*5k : 如果是稀疏矩阵, matlab就搞定了
|
t***s 发帖数: 4666 | 5 你都知道I和D了,还关R什么事?
D
【在 c***u 的大作中提到】 : 就是5000个linear 线型方程组,I=RxD, R是5000x5000矩阵, 局部会有zero, 知道I和D : (实验上得到的).5000x5000计算对电脑要求比较高吧? 这个有效计算就是仪器采集大量 : 的数据,然后经过矩阵运算, 转换出我们需要的数据.. : 哥们能个我一个matlab的简单code吗? 我们可以先用random生成的数试. : 谢谢
|
l*****i 发帖数: 3929 | 6 估计他是想算I*inv(D)
大量
【在 t***s 的大作中提到】 : 你都知道I和D了,还关R什么事? : : D
|
t***s 发帖数: 4666 | 7 what's the dimention of I and D? left divide a 5000x1 vector
by a 5000x5000 matrix in matlab on my machine only takes ~40 seconds.
【在 l*****i 的大作中提到】 : 估计他是想算I*inv(D) : : 大量
|
x****g 发帖数: 6597 | 8 这个得要Matlab, 我搞过6000x6000的矩阵.
其他软件内存不够。
【在 c***u 的大作中提到】 : 现在做个简单的数值计算, 老板需要知道怎样能很快,有效的计算5000x5000的矩阵. 我 : 本人不是很懂科学计算. 也不是很懂matlab 和mathematics. 有人做过类似的活吗? : 谢谢
|
k***i 发帖数: 662 | 9 用什么方法?
硬算很不好吧
【在 c******m 的大作中提到】 : 5k*5k : 如果是稀疏矩阵, matlab就搞定了
|
y*****a 发帖数: 580 | 10 If spares matrix, not a problem at all (particularly n-diagonal matrix with
smaller bindwidth.), and I think you can try D=I\R in matlab. The problem
of using a random generator is that, you may need pre-conditioning of your
matrix. If you want to code, get a "Numerical Recipes" book to look at Chapter 2. There also have a code in the book to solve for sparse matrix using conjugate gradient method.
It would be better to identify the structure of your matrix, the size itself is not a problem (
【在 c***u 的大作中提到】 : 就是5000个linear 线型方程组,I=RxD, R是5000x5000矩阵, 局部会有zero, 知道I和D : (实验上得到的).5000x5000计算对电脑要求比较高吧? 这个有效计算就是仪器采集大量 : 的数据,然后经过矩阵运算, 转换出我们需要的数据.. : 哥们能个我一个matlab的简单code吗? 我们可以先用random生成的数试. : 谢谢
|
|
|
h******g 发帖数: 69 | 11 At octave 3.2.0 Windows XP
b=rand(5000,1);
A=rand(5000,5000);
tic(); x=A\b; toc()
only takes 30 seconds.
Computer is Xeon CPU 2.8G, 2G RAM. |
H***a 发帖数: 735 | 12 不就是解A*x=b, A是5k*5k的矩阵对么?
LAPACK这么赞的牛刀怎么没人提?!Check out http://www.netlib.org/lapack/
只要按要求格式存好数据,立马给你算出来,呵呵。 |
p*****e 发帖数: 310 | 13 matlab就是用lapack算的,不用舍近求远
【在 H***a 的大作中提到】 : 不就是解A*x=b, A是5k*5k的矩阵对么? : LAPACK这么赞的牛刀怎么没人提?!Check out http://www.netlib.org/lapack/ : 只要按要求格式存好数据,立马给你算出来,呵呵。
|
m**********o 发帖数: 19 | 14 Use an iterative method such as conjugate gradient or inverse with singular
value decomposition. |
k*********g 发帖数: 791 | 15 用迭代法;
用gauss-seidel;
不过,每行得先找到绝对值最大的,再gs; |