QUẢNG CÁO ĐẦU TRANG

Collapse

Thông báo

Collapse
No announcement yet.

VBA for excel- phương pháp số

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

  • VBA for excel- phương pháp số

    Xin hỏi các bạn có phương pháp nào để giải phương trình dạng này không?
    T(y) = b + 2 * z * y
    A(y) = (b + z * y) * y
    f(y) = Q ^ 2 * T(y) - g * A(y) ^ 3
    Giải phương trình f(y)=0 tìm được chiều sâu phân giới trong kênh hình thang.
    Last edited by Geotech; 01-03-2008, 10:53 PM.

    http://www.hhasoft.tk

  • #2
    Ðề: VBA for excel- phương pháp số

    Mình viết lại chương trình tính chiều cao phân giới hk trong kênh hình thang , các bạn test thử xem sao. (Nhớ thêm đuôi exe vào file đính kèm để chạy)
    Attached Files
    Last edited by Geotech; 01-03-2008, 10:55 PM.

    http://www.hhasoft.tk

    Ghi chú


    • #3
      Ðề: VBA for excel- phương pháp số

      Nguyên văn bởi Geotech
      Mình viết lại chương trình tính chiều cao phân giới hk trong kênh hình thang , các bạn test thử xem sao. (Nhớ thêm đuôi exe vào file đính kèm để chạy)
      Chẳng hiểu thế nào mà tôi test chẳng thấy cái thông số đâu mà nhập.

      Hình hướng dẫn bên phải thì nhỏ quá, chẳng thấy chữ.
      Còn các tile hướng dẫn trước các hộp nhập bi khuyết phần bên trái.

      Có thể vui lòng hướng dẫn thông số các ô nhập liệu được không.
      Chứ tôi click vào tính toán thì thế nào nó cũng cho một con số, sai đúng cũng ra kết quả cả, chẳng có nhắc nhở cảnh báo gì cả

      Thân mến!!!

      Ghi chú


      • #4
        Ðề: VBA for excel- phương pháp số

        Mình code bằng Delphi, do lần đầu viết bằng Delphi nên còn sai sót, nhưng thuật toán nó cũng đơn giản thôi.
        Thứ nhất, mình giải thích về các đại lượng:
        b: chiều rộng đáy kênh; m: độ dốc mái kênh; Q: lưu lượng tính toán; T(y): chiều rộng mặt thoáng nước trong kênh;
        A(y) : diện tích ướt trong kênh,
        y chiều cao cột nước ( biến cần giải hk)


        procedure TForm1.BtnCalClick(Sender: TObject);
        var
        y2,yn,Ti,T2,Tn,Ai,A2,An,fi,fp,f2,fn,yc: real;
        k: integer;
        begin
        {Giai chieu cao phan gioi trong kenh hinh thang}
        yc:=yi;
        y2:= yi+0.1;
        k:=1;
        while k<nmax do
        begin
        Ti:=b+2*m*yi; //Bề rộng mặt thoáng
        Ai := (b + m * yi) * yi ; //Diện tích mc ướt
        fi := Q*Q * Ti - g * Ai*Ai*Ai ;
        T2:=b+2*m*y2;
        A2 := (b + m * y2) * y2 ;
        f2 := Q*Q * T2 - g * A2*A2*A2 ;
        fp:=(f2-fi)/(y2-yi) ;
        yn:=yi-fi/fp ;
        Tn:=b+2*m*yn;
        An:=(b+m*yn)*yn ;
        fn:=Q*Q*Tn-g*An*An*An;
        if abs(fn)<epsilon then
        begin
        yc:= yn;
        {showMessage('gia tri yc'+floattostr(yc)) ;}
        break;
        end;
        y2:=yi;
        yi:=yn;
        k:=k+1;
        end;

        Edtyc.Text:=floattostr(yc);
        if k>Nmax then ShowMessage('No convergent after'+inttostr(k)+'iterations');

        end;
        Last edited by Geotech; 07-03-2008, 02:58 PM.

        http://www.hhasoft.tk

        Ghi chú


        • #5
          Ðề: VBA for excel- phương pháp số

          bác giải thích thêm và cho 1 file ví dụ đi bác

          Ghi chú

          Working...
          X