明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1534|回复: 1

关于主元素消去法解多元一次方程的问题

[复制链接]
发表于 2004-11-16 12:02:00 | 显示全部楼层 |阅读模式
我写了如下的代码想用主元素消去法解多元一次方程;(defun c:kk()
(setq matrix2 (vlax-make-safearray vlax-vbdouble (cons 1 5)(cons 1 6)))
(setq matrix3 (vlax-make-safearray vlax-vbdouble (cons 1 5)(cons 1 6)))
(setq ll '((10 20 30 40 50 60)
(12 13 21 22 24 30)
(11 4 3 7 9 10)
(9 7 35 67 12 8)
(65 73 28 91 16 28))
)
(vlax-safearray-fill matrix2 ll)
(setq num1 4)
(setq ylen 6)
(setq n4 1)
(repeat num1
(setq n5 n4)
(setq maxa (abs (vlax-safearray-get-element matrix2 n4 n4)))
(setq len1 (- 5 n4))
(setq n6 (1+ n4))
(repeat len1
(if (> (abs (vlax-safearray-get-element matrix2 n6 n4)) maxa)
(progn(setq maxa (abs(vlax-safearray-get-element matrix2 n6 n4)))
(setq n5 n6)
)
(setq n6 (1+ n6))
)
)
(setq n7 1)
(repeat ylen
(setq ass1 (vlax-safearray-get-element matrix2 n4 n7))
(vlax-safearray-put-element matrix2 n4 n7 (vlax-safearray-get-element matrix2 n5 n7))
(vlax-safearray-put-element matrix2 n5 n7 ass1)
(setq n7 (1+ n7))
)
(setq n12 1)
(repeat ylen
(vlax-safearray-put-element matrix3 1 n12 (vlax-safearray-get-element matrix2 1 n12))
(setq n12 (1+ n12))
)
(setq n8 (1+ n4))
(repeat len1
(setq n9 1)
(repeat ylen
(setq ass2 (* (vlax-safearray-get-element matrix2 n4 n9) (vlax-safearray-get-element matrix2 n8 n4)))
(setq ass3 (/ ass2 (vlax-safearray-get-element matrix2 n4 n4)))
(setq ass4 (- (vlax-safearray-get-element matrix2 n8 n9) ass3))
(vlax-safearray-put-element matrix3 n8 n9 ass4)
(setq n9 (1+ n9))
)
(setq n8 (1+ n8))
)
(setq n10 1)
(repeat 5
(setq n11 1)
(repeat ylen
(setq ass5 (vlax-safearray-get-element matrix3 n10 n11))
(vlax-safearray-put-element matrix2 n10 n11 ass5)
(setq n11 (1+ n11))
)
(setq n10 (1+ n10))
)
(setq n4 (1+ n4))
)/////////////////////////////////用主元素消去法求解方程

(setq n1 1)
(repeat 5
(setq n2 1)
(repeat 6
(princ (vlax-safearray-get-element matrix2 n1 n2))
(princ " ")

(setq n2 (1+ n2))
)
(print "\n")
(setq n1 (1+ n1))
)
)可是显示的matrix2数组并不是上三角阵,为什么呢??拜托各位能看看我的程序,找出原因,谢谢了。
发表于 2004-11-16 13:06:00 | 显示全部楼层
程序太难理清,把数学过程说一下吧(按你的程序思路说)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-30 06:27 , Processed in 0.167821 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表