Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Toán cho CNTT] Euler cải tiến cho hệ tuyến tính 2 biến

    Xét hệ phương trình vi phân tuyến tính x′=ax+by, y′=cx+dyx'=ax+by,\ y'=cx+dyx′=ax+by, y′=cx+dy, với điều kiện đầu x(0)=x0,y(0)=y0x(0)=x_0,y(0)=y_0x(0)=x0​,y(0)=y0​. Dùng phương pháp Euler cải tiến (Heun) với bước hhh cho F(x,y)=(ax+by, cx+dy)F(x,y)=(ax+by,\,cx+dy)F(x,y)=(ax+by,cx+dy): u~=un+hF(un),un+1=un+h2[F(un)+F(u~)].\tilde{\mathbf{u}}=\mathbf{u}_n+hF(\mathbf{u}_n),\qquad \mathbf{u}_{n+1}=\mathbf{u}_n+\dfrac{h}{2}\big[F(\mathbf{u}_n)+F(\tilde{\mathbf{u}})\big].u~=un​+hF(un​),un+1​=un​+2h​[F(un​)+F(u~)]. Cho a,b,c,d,x0,y0,ha,b,c,d,x_0,y_0,ha,b,c,d,x0​,y0​,h và số bước nnn, hãy tính xnx_nxn​ và yny_nyn​.

    • Định dạng đầu vào:

      Một dòng gồm các số a b c d x0 y0 h na\ b\ c\ d\ x_0\ y_0\ h\ na b c d x0​ y0​ h n (nnn nguyên).

    • Ràng buộc đầu vào:

      −3≤a,b,c,d≤3-3 \le a,b,c,d \le 3−3≤a,b,c,d≤3, −5≤x0,y0≤5-5 \le x_0,y_0 \le 5−5≤x0​,y0​≤5, 0.01≤h≤0.30.01 \le h \le 0.30.01≤h≤0.3, 1≤n≤5001 \le n \le 5001≤n≤500.

    • Định dạng đầu ra:

      In xnx_nxn​ và yny_nyn​ trên một dòng, cách nhau khoảng trắng, mỗi số làm tròn 6 chữ số sau dấu chấm thập phân.

    Ví dụ:

    Đầu vào:

    1 -1 2 -1 1 0 0.05 40
    

    Đầu ra:

    0.492062 1.817958

    Đang tải editor...