声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3005|回复: 12

[分形与混沌] "求线性方程组的通解"要用什么函数做?

[复制链接]
发表于 2006-7-4 21:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
"求线性方程组的通解"要用什么函数做.

请这里的高手门能帮帮忙给个答案

[ 本帖最后由 xinyuxf 于 2006-12-26 11:35 编辑 ]
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-7-4 21:57 | 显示全部楼层
对了,是要求用 C语言编程序~~~谢谢各位大哥哥了
发表于 2006-7-5 09:46 | 显示全部楼层
只听说过“微分方程”的通解特解,“线性方程组”的通解,不懂啊。
发表于 2006-7-5 09:59 | 显示全部楼层

线性方程

线性方程组AX=B的通解就是
先对应AX=0齐次解X0,以及AX=B的解X1
通解=X0+K*X1
K是任意常数
 楼主| 发表于 2006-7-5 12:08 | 显示全部楼层
恩恩,可是就是不会用C语言来编.好难~~~~都不晓得怎么下手...

有厉害的高手帮帮忙~~~~谢谢了55555
发表于 2006-7-5 13:00 | 显示全部楼层
原帖由 hao1982 于 2006-7-5 09:59 发表
线性方程组AX=B的通解就是
先对应AX=0齐次解X0,以及AX=B的解X1
通解=X0+K*X1
K是任意常数


你方法说对了,但是AX=B的通解说错了。 通解 = K* X0 +X1,K是任意常数。呵呵
发表于 2006-7-5 17:55 | 显示全部楼层
原帖由 redstar 于 2006-7-5 13:00 发表


你方法说对了,但是AX=B的通解说错了。 通解 = K* X0 +X1,K是任意常数。呵呵

哎,又疏忽了!惭愧
 楼主| 发表于 2006-7-5 21:47 | 显示全部楼层
呵呵,不过要用C语言编出来,好象真的很难,弄了一天555都没出来
发表于 2006-7-5 22:14 | 显示全部楼层
按照线性代数的方法应该可以编出的,不过要看你的熟练程度了.我没用过C编程,所以爱莫能助了
不过象这种程序应该可以去程序书上找到的.或者有流程图,可以照着写.
发表于 2006-7-5 23:34 | 显示全部楼层
你如果不想自己编的话,可以到网上找,或者到图书馆去找本书,有关这方面的书是挺多的,很容易找的。
 楼主| 发表于 2006-7-6 08:27 | 显示全部楼层
诺大一个互联网都找不到...哎~~~绝望了~~555
发表于 2006-7-6 09:24 | 显示全部楼层
不就是解线性方程组吗?很多C程序集中有,徐士良的C语言常用算法中就有。
发表于 2006-7-6 13:25 | 显示全部楼层
原帖由 家有小丫头 于 2006-7-4 21:56 发表
丫头碰到麻烦老师了,出个鬼题目.请大家帮帮忙

"求线性方程组的通解"要用什么函数做.

请这里的高手门能帮帮忙给个答案,很急很急.

丫头在这里先谢过,谢谢了Sample Text

这是用fortran编的子程序,稍改一下,到c就行了
应该可以看懂吧~~顺便说一下,这是用的高斯-约当消去方法!
说明:A双精度实型二维数组,n*n,输入参数,存放方程组的系数矩阵,返回时被破坏
B双精度实型二维数组,n*M,输入、输出参数,调用时存放M组常数向量,返回M组解向量
N整形输入参数,阶数
M整形输入参数,右端常数向量的组数
L整形输出参数,若L=0,说明系数矩阵奇异,求解失败,若L!=0,正常返回求解正确

        SUBROUTINE AGJDN(A,B,N,M,L,JS)
        DIMENSION A(N,N),B(N,M),JS(N)
        DOUBLE PRECISION A,B,D
        L=1
        DO 100 K=1,N
          Q=0.0
          DO 10 I=K,N
          DO 10 J=K,N
            IF (ABS(A(I,J)).GT.Q) THEN
              Q=ABS(A(I,J))
              JS(K)=J
              IS=I
            END IF
10          CONTINUE
          IF (Q+1.0.EQ.1.0) THEN
            WRITE(*,20)
            L=0
            RETURN
          END IF
20          FORMAT(1X,'  FAIL  ')
          DO 30 J=K,N
            D=A(K,J)
            A(K,J)=A(IS,J)
            A(IS,J)=D
30          CONTINUE
          DO 40 J=1,M
            D=B(K,J)
            B(K,J)=B(IS,J)
            B(IS,J)=D
40          CONTINUE
          DO 50 I=1,N
            D=A(I,K)
            A(I,K)=A(I,JS(K))
            A(I,JS(K))=D
50          CONTINUE
          DO 60 J=K+1,N
60          A(K,J)=A(K,J)/A(K,K)
          DO 70 J=1,M
70          B(K,J)=B(K,J)/A(K,K)
          DO 90 I=1,N
            IF (I.NE.K) THEN
              DO 80 J=K+1,N
80              A(I,J)=A(I,J)-A(I,K)*A(K,J)
              DO 85 J=1,M
85              B(I,J)=B(I,J)-A(I,K)*B(K,J)
            END IF
90          CONTINUE
100        CONTINUE
        DO 110 K=N,1,-1
        DO 110 J=1,M
          D=B(K,J)
          B(K,J)=B(JS(K),J)
          B(JS(K),J)=D
110        CONTINUE
        RETURN
        END

[ 本帖最后由 flybaly 于 2006-7-6 13:27 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-6-12 07:45 , Processed in 0.059623 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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