Ðề: 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
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
-
Ðề: 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.
Leave a comment:
-
Ðề: VBA for excel- phương pháp số
Nguyên văn bởi GeotechMì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)
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!!!
Leave a comment:
-
Ðề: 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 FilesLast edited by Geotech; 01-03-2008, 10:55 PM.
Leave a comment:
-
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.Tags: None
Quảng cáo cuối trang
Collapse
Leave a comment: