Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 13
  1. #1
    Tham gia
    12-11-2007
    Bài viết
    134
    Like
    0
    Thanked 0 Times in 0 Posts

    Thông tin về giải hệ phương trình tuyến tính

    Có bạn nào chỉ giúp mình cách code giải hệ phương trình tuyến tính dùng phương pháp gauss hoặc cramer kô
    Quote Quote

  2. #2
    Tham gia
    26-01-2008
    Bài viết
    359
    Like
    0
    Thanked 3 Times in 3 Posts
    Bạn có thể tham khảo qua bài viết tính ma trận nghịch đảo theo Gauss của mình ở đây :http://ddth.com/showthread.php?t=184614
    Khi tính được ma trận nghịch đảo của vế trái rồi thì chỉ cần lấy nó mà nhân với cái vectơ vế phải là ra nghiệm thôi.

  3. #3
    Tham gia
    12-11-2007
    Bài viết
    134
    Like
    0
    Thanked 0 Times in 0 Posts
    theo cramer thì sao bạn ơi?

  4. #4
    Tham gia
    24-12-2004
    Location
    Sài Gòn
    Bài viết
    197
    Like
    0
    Thanked 1 Time in 1 Post
    Muốn theo công thức Cramer thì bạn cần code một thuật toán để tính định thức (determinant) của ma trận. Ví dụ, phân tích LU ( http://en.wikipedia.org/wiki/LU_decomposition ) hay phân tích QR ( http://en.wikipedia.org/wiki/QR_decomposition ).

    [=========> Bổ sung bài viết <=========]

    Giải hệ phương trình tuyến tính bằng phép tính ma trận nghịch đảo không phải là phương pháp Gauss, mà là Gauss-Jordan. Chậm hơn Gauss đáng kể.
    Được sửa bởi quynhlan lúc 17:14 ngày 10-05-2008 Reason: Bổ sung bài viết

  5. #5
    Tham gia
    15-10-2009
    Bài viết
    7
    Like
    0
    Thanked 0 Times in 0 Posts
    ban co code giai he pt bang phuong phap Gauss-Jordan chi min voi hoac gui wa mail dum min.hoa quynhanhphm@gmail.com

  6. #6
    Tham gia
    15-10-2009
    Bài viết
    7
    Like
    0
    Thanked 0 Times in 0 Posts

    guiban89

    minhcam on ban nhieu nha.min dang lam dê tai tim hieu ve viec giai hê pt.míne tim hieu ngon ngu c++ cua ban min chi hoc C va c# thui.min cam on ban rat nhieu.

    [=========> Bổ sung bài viết <=========]

    cam on ban nhieu nha
    Được sửa bởi emnoidayvancho lúc 22:27 ngày 13-12-2009 Reason: Bổ sung bài viết

  7. #7
    Tham gia
    15-10-2009
    Bài viết
    7
    Like
    0
    Thanked 0 Times in 0 Posts
    minh dang lam do an mon hoc.giai he phuong tring bang phuong phap GAUSS-gom co cai dat chuong trinh bang c,neu y nghia cua viec giai bai toan ,tim hieu giai he phuong trinh tong wat

    [=========> Bổ sung bài viết <=========]

    ban nao chi cho minvoi .m gan nop rui nhung m ko bt lam
    min cam on cac ban nhieu nha

    [=========> Bổ sung bài viết <=========]

    ban oi cho m hoi giai he phuong trinh tuyen tinh bang phuong phap gauss la khac voi gauss-seidel ha ban?
    Được sửa bởi emnoidayvancho lúc 23:22 ngày 05-01-2010 Reason: Bổ sung bài viết

  8. #8
    Tham gia
    15-11-2005
    Location
    Hà Nội
    Bài viết
    696
    Like
    0
    Thanked 14 Times in 12 Posts
    Đầy đủ tất cả cho bạn về vấn đề này:

    Giải hệ phương trình tuyến tính Cramer

    Ngoài ra bạn có thể tìm kiếm được nhiều bài khác nữa!

  9. #9
    Tham gia
    15-10-2009
    Bài viết
    7
    Like
    0
    Thanked 0 Times in 0 Posts
    minh dang lam do an ve trinh bien dich de tai cua minh la "viet chuong trinh bien dich cau lẹnh if else va for" ban nao co tai lieu up cho minh voi

  10. #10
    Tham gia
    06-01-2010
    Bài viết
    216
    Like
    0
    Thanked 12 Times in 10 Posts
    PHP Code:
    /* Giai he phuong trinh tuyen tinh bang phep khu GAUSS - JORDAN
    voi B va X la ma tran N x P */
    #include <stdio.h>
    #include <math.h>

    #define MAX 10
    double A***91;MAX***93;***91;MAX***93;, B***91;MAX***93;***91;MAX***93;, X***91;MAX***93;***91;MAX***93;;

    /*void*/int gauss_jordan(int nint p)
    {
      
    int i=0jdone=0mk;
      
    double maxc;
      
    printf("\nTinh nghiem cua he phuong trinh");
      while (!
    done)
      {
        if (
    A***91;i***93;***91;i***93; == 0)
        {
          
    max 0;
          
    i;
          for (
    k=i+1k<nk++)
            if (
    max fabs(A***91;k***93;***91;i***93;))
            {
              
    k;
              
    max fabs(A***91;k***93;***91;i***93;);
            }
          if (
    != i)
          {
            for (
    j=ij<nj++)
            {
              
    A***91;i***93;***91;j***93;;
              
    A***91;i***93;***91;j***93; = A***91;m***93;***91;j***93;;
              
    A***91;m***93;***91;j***93; = c;
            }
            for (
    j=0j<pj++)
            {
              
    B***91;i***93;***91;j***93;;
              
    B***91;i***93;***91;j***93; = B***91;m***93;***91;j***93;;
              
    B***91;m***93;***91;j***93; = c;
            }
          }
          if (
    == i)
            
    done 1;
        }
        if (
    A***91;i***93;***91;i***93; != 0)
        {
          
    1/A***91;i***93;***91;i***93;;
          for (
    j=ij<nj++)
            
    A***91;i***93;***91;j***93; = A***91;i***93;***91;j***93; * c;
          for (
    j=0j<pj++)
            
    B***91;i***93;***91;j***93; = B***91;i***93;***91;j***93; * c;
          for (
    k=0k<nk++)
            if (
    != i)
            {
              
    cA***91;k***93;***91;i***93;;
              for (
    j=ij<nj++)
                
    A***91;k***93;***91;j***93; = A***91;k***93;***91;j***93; - A***91;i***93;***91;j***93;*c;
              for (
    j=0j<pj++)
                
    B***91;k***93;***91;j***93; = B***91;k***93;***91;j***93; - B***91;i***93;***91;j***93; * c;
            }
        }
        
    printf("\nLan khu hang %d"i);
        for (
    k=0k<nk++)
        {
          
    printf("\n");
          for (
    j=0j<nj++)
            
    printf("%10.2lf"A***91;k***93;***91;j***93;);
          for (
    j=0j<pj++)
            
    printf(" = %10.2lf"B***91;k***93;***91;j***93;);
        }
        
    i++;
        if (
    i>=n)
          
    done 1;
      }
      if (
    >= n)
        for (
    j=0j<nj++)
          for (
    k=0k<pk++)
            
    X***91;j***93;***91;k***93; = B***91;j***93;***91;k***93;;
    }

    /*void*/int in_A(int n)
    {
      
    int ij;
      
    printf("\nMa tran A :");
      for (
    i=0i<ni++)
      {
        
    printf("\n");
        for (
    j=0j<nj++)
          
    printf("%10.2lf"A***91;i***93;***91;j***93;);
      }
    }

    /*void*/int in_B(int nint p)
    {
      
    int ij;
      
    printf("\nMa tran B :\n");
      for (
    i=0i<ni++)
      {
        
    printf("\n");
        for (
    j=0j<pj++)
          
    printf("%10.2lf"B***91;i***93;***91;j***93;);
      }
    }

    /*void*/int in_X(int nint p)
    {
      
    int ij;
      
    printf("\nMa tran nghiem X :\n");
      for (
    i=0i<ni++)
      {
        
    printf("\n");
        for (
    j=0j<pj++)
          
    printf("%10.2lf"X***91;i***93;***91;j***93;);
      }
    }

    /*void*/int main()
    {
      
    int nijp;

      
    printf("Giai he phuong trinh tuyen tinh AX = B.");
      
    printf("\nbang phuong phap khu GAUSS.");
      
    printf("\nCho biet cap ma tran : ");
      
    scanf("%d%*c", &n);
      
    printf("\nCho biet cap ma tran B : ");
      
    scanf("%d%*c", &p);
      
    printf("\nNhap ma tran A :\n");
      for (
    i=0i<ni++)
        for (
    j=0j<nj++)
        {
          
    printf("A***91;%d***93;***91;%d***93; = "ij);
          
    scanf("%lf", &A***91;i***93;***91;j***93;);
        }
      
    printf("\nNhap ma tran B :\n");
      for (
    i=0i<ni++)
        for (
    j=0j<pj++)
        {
          
    printf("B***91;%d***93;***91;%d***93; = "ij);
          
    scanf("%lf", &B***91;i***93;***91;j***93;);
        }
      
    in_A(n);
      
    in_B(np);
      
    gauss_jordan(np);

      
    in_X(np);
      
    getch();


    day la code minh suu tam dc nen minh post len chu minh chua doc wa
    Được sửa bởi minhhieuit lúc 18:08 ngày 10-01-2010

Trang 1 / 2 12 LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •