首页
社区
课程
招聘
[旧帖] [求助]记在这里,省得忘记--用Excel解线性方程组 0.00雪花
发表于: 2007-6-17 00:47 5881

[旧帖] [求助]记在这里,省得忘记--用Excel解线性方程组 0.00雪花

2007-6-17 00:47
5881
昨天的 不懂算法 的CrackME参赛作品,太虚伪了找到算法是一个20元的线性方程组。但用前辈提供的免费工具Matrix1.0却没有导入导出数据功能,使用起来很辛苦,搜索一下虽然没有发现更好的计算工具,却发现Excel本身有相应的工具。记之备忘。也许会对新手有些用。。。。。

http://blog.programfan.com/article.asp?id=3980

用Excel解线性方程组

这里我想提的只是一个Excel里不被人注意的函数:计算行列式MDETERM()

例题:  

设有未知数x1、x2、x3、x4,满足以下条件:
x1 + 3*x2 -2*x3 + x4 = 1
2*x1 + 5*x2 -3*x3 + 2*x4 = 3
-3*x1+ 4*x2 + 8*x3 -2*x4 = 4
6*x1 -x2 - 6*x3 + 4*x4 =2
用克拉默法则求出x1、x2、x3、x4的值。

解题方法:

我们在(A1:E4)单元格分别输入系数和等号右边的数值
1    3    -2    1    1
2    5    -3    2    3
-3    4    8    -2    4
6    -1    -6    4    2

在单元格A5输入公式:
=MDETERM(A1:D4)
即计算系数行列式,得到 17 ,于是得 D = 17;

选中(E1:E4)这一列单元格,复制:按Ctrl + c,
然后点中A1单元,粘贴:按Ctrl +  v,
A5单元格变成了 -34 ,于是得 D1 = -34

取消:按Ctrl + z,A5单元格仍变回17。点中B1单元格,粘贴:按Ctrl +  v,
A5单元格变成了 0 ,于是得 D2 = 0

取消:按Ctrl + z,A5单元格仍变回17。点中C1单元格,粘贴:按Ctrl +  v,
A5单元格变成了 17,于是得 D3 = 17

取消:按Ctrl + z,A5单元格仍变回17。点中D1单元格,粘贴:按Ctrl +  v,
A5单元格变成了 85,于是得 D4 = 85

根据克拉默法则:

x1 = D1 / D = -34 / 17 = -2
x2 = D2 / D =    0 / 17 = 0
x3 = D3 / D =  17 / 17 = 1
x4 = D4 / D =  85 / 17 = 5

可以看到,当未知数的个数较多时,用Excel解线性方程组还是很方便的。

(如果系数矩阵A是非奇异方阵,也可以先用=MINVERSE(A)求出A的逆阵NA,再用X=NA*B求出方程组的解)

====================================================
另外:
线性方程组求解在Excel和Matlab中的实现(Cool海豚整理)
http://agri520.bokee.com/5293663.html

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 95
活跃值: (419)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
2
支持一个,我也想用excel的
2007-6-17 09:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
很不错,就是操作多。
还是用周长发的vc++算法库编程快一些
或者徐士良的也不错
2007-6-17 10:45
0
雪    币: 2506
活跃值: (1025)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
4
试试这个计算工具:
上传的附件:
2007-6-17 11:01
0
雪    币: 732
活跃值: (192)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢CCDubuger老大。

但有点小问题,金山误报WriteExp病毒。

2007-6-17 20:23
0
雪    币: 2506
活跃值: (1025)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
6
可能是报那个 WriteExp.exe 吧。这个程序加了 aspack 的壳,你可以脱壳反汇编看一下,没毒的。
2007-6-17 22:09
0
雪    币: 1969
活跃值: (46)
能力值: (RANK:550 )
在线值:
发帖
回帖
粉丝
7
不错的工具,谢谢。
2007-6-18 08:27
0
游客
登录 | 注册 方可回帖
返回
//