Thông báo

Collapse
No announcement yet.

Bài tập Matlab cần giúp đỡ

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Bài tập Matlab cần giúp đỡ

    em có đoạn function này nhưng không chạy được bác nào báo lỗi giùm em với:
    Code:
    function T = phantich(a)
    % phan tich ma tran cholesky 
    n = size(A, 1);
    for i=1:n
    for j=1:n
    if a(i,j)> a(j,i)
    disp('ma tran khong doi xung ')
    a= input('nhap lai ma tran a = ')
    end
    for j = 1:n
    p = A(j, j) - dot(A(j, 1:j-1),A(j, 1:j-1));
    if p < 0.0
    disp('Ma tran xac dinh duong,vui long nhap lai')
    a= input('nhap lai ma tran a = ')
    end 
    for i=1:length(a)
    if ( det( a(1:i, 1:i) ) <= 0 )
    disp('ma tran khong xac dinh duong')
    a= input('nhap lai ma tran a = ')
    end
    T=chol(a) %ham phan tich cholesky.đây cũng là chỗ nó báo sai
    Last edited by ngohaibac; 08-02-2009, 14:16. Lý do: Thêm tag code

  • #2
    hi bro,

    mình chỉ góp ý là function for và if của bác thôi

    1./

    FOR variable = expr, statement, ..., statement END

    IF ...
    END

    2./ "A " của bác chưa được definie.

    bác coi kỹ lại nhé, em chỉ biết góp ý thế thôi, chúc bác thành công

    Comment


    • #3
      thanks nha. để tớ coi lại đã,

      Comment


      • #4
        có thể cho tớ hỏi làm thế nào để tớ viết nên diễn đàn mà mọi người có thể đọc được??? làm ơn trả lời tớ khi có thể nhé. thank

        Comment


        • #5
          Nguyên văn bởi phuongsshn Xem bài viết
          có thể cho tớ hỏi làm thế nào để tớ viết nên diễn đàn mà mọi người có thể đọc được??? làm ơn trả lời tớ khi có thể nhé. thank
          Thì bạn đã viết lên rồi đó thôi.CHưa hiểu ý bạn lắm.Nói kỹ lại xem nào.

          Comment


          • #6
            khỏi cần chạy cũng thấy bạn sai rồi.Nên nhớ Matlab là ngôn ngư phân biệt chữ hoa và chữ thường nên bạn phải sửu lại đi.Ma trận A là gì khi đàu vào của hàm là ma trận a.Hihi.

            Comment


            • #7
              Cha cha,bây giờ tui sửa thì mới thấy bạn hỏng các lệnh matlab đó.Mới vừa hoc hả?
              Các cú pháp lệnh phải viết đúng chứ?Mở help lên mà xem.Trên đoạn code phía trên của bạn sai cú pháp lệnh if và vòng lặp for,cụ thể là bạn chưa end các lệnh này.Mình đã sửa lại rồi đây,bạn tham khảo thử nghen:

              Code:
              function T = phantich(A)
              % phan tich ma tran cholesky 
              n = size(A, 1);
              for i=1:n
                  for j=1:n
                  if A(i,j)> A(j,i)
                  disp('ma tran khong doi xung ')
                  a= input('nhap lai ma tran a = ')
                  end
                  end
              end
              
              for j = 1:n
              p = A(j, j) - dot(A(j, 1:j-1),A(j, 1:j-1));
                  if p < 0.0
                  disp('Ma tran xac dinh duong,vui long nhap lai')
                  A= input('nhap lai ma tran a = ')
                  end 
              end
              
              for i=1:length(A)
                  if ( det( A(1:i, 1:i) ) <= 0 )
                  disp('ma tran khong xac dinh duong')
                  A= input('nhap lai ma tran a = ')
                  end
              end
              %T=chol(A) %ham phan tich cholesky.đây cũng là chỗ nó báo sai

              Comment


              • #8
                function [n,DD]=newton(x,y )
                %dua vao:x=[x0 x1 x2...xN]
                %y=[yo y1 ...yN]
                %lay ra :n=he so cua da thuc newton bac N.
                i=length(x);
                N=length(x)-1;














































                DD=zeros(N+1,N+1);
                DD(1:N+1,1)=y';
                for k=2:N+1
                for m=1:N+2-K
                DD(m,k)=(DD(m+1,k-1)-DD(m,k-1))/(x(m+k-1)-x(m));
                end
                end
                a=DD(1,;
                n=a(N+1);
                for k=N:-1:1
                n=[n a(k)]-[0 n*x(k)];
                end

                Comment


                • #9
                  giup em lap trinh noi suy newton tien voi

                  Comment


                  • #10
                    co the nhanh hon em dang can gap

                    Comment


                    • #11
                      function [n,DD]=newton(x,y )
                      %dua vao:x=[x0 x1 x2...xN]
                      %y=[yo y1 ...yN]
                      %lay ra :n=he so cua da thuc newton bac N.
                      i=length(x);
                      N=length(x)-1;

                      DD=zeros(N+1,N+1);
                      DD(1:N+1,1)=y';
                      for k=2:N+1
                      for m=1:N+2-K
                      DD(m,k)=(DD(m+1,k-1)-DD(m,k-1))/(x(m+k-1)-x(m));
                      end
                      end
                      a=DD(1,;
                      n=a(N+1);
                      for k=N:-1:1
                      n=[n a(k)]-[0 n*x(k)];
                      end

                      Comment


                      • #12
                        ko xong roi ban oi, no báo lổi o hàng thứ 2
                        nó bào ne: " Input argument "A" is undefined.

                        Error in ==> phantich at 5
                        n = size(A, 1);"Click image for larger version

Name:	Untitled.jpg
Views:	1
Size:	78.4 KB
ID:	1354743

                        Comment


                        • #13
                          mình gặp lỗi trong khi tính toán trên ma trận. Đây là đoạn code(chỗ màu đỏ là bị lỗi)
                          % ma tran tuong dong S
                          S=[10 -1 -3 -4
                          -1 7 -5 -3
                          -3 -5 9 0
                          -4 -3 0 8];
                          % khoi tao
                          A='AGACTAGTTAC';
                          B='CGAGACGT';
                          m=length(A);
                          n=length(B);
                          d=-5;
                          F=zeros(m,n);
                          for i=0:m
                          F(i,0) = d*i;
                          end
                          for j=0:n
                          F(0,j) = d*j;
                          end

                          Comment

                          Về tác giả

                          Collapse

                          locend Tìm hiểu thêm về locend

                          Bài viết mới nhất

                          Collapse

                          Đang tải...
                          X