Loading
Quảng Cáo
Trang 1/2 12 CuốiCuối
Hiện kết quả từ 1 tới 10 của 14

Chủ đề: Giải mẫu bài tập lớn Phương pháp tính

  1. #1
    Avatar của admin
    Tình trạng: admin đang ẩn
    Tham gia ngày : Mar 2010
    Giới tính: Nam
    Đến từ : TPHCM
    Tuổi: 25
    Bài gửi : 1.138

    Giải mẫu bài tập lớn Phương pháp tính


    Đây là bài giải mẫu môn phương pháp tính, down về tham khảo nha, đùng quên nhấn nút Thanks
    File được đính kèm
    Hãy bấm nút Thanks để động viên những người có công sưu tầm và chia sẻ nhé !
    Mỗi 1 người Thanks là thêm 1 phần động lực để họ tiếp tục sưu tầm và chia sẻ.
    Hãy Thanks vì 1 cộng đồng BkCar.Net !

  2. Quảng Cáo
  3. #2
    Avatar của admin
    Tình trạng: admin đang ẩn
    Tham gia ngày : Mar 2010
    Giới tính: Nam
    Đến từ : TPHCM
    Tuổi: 25
    Bài gửi : 1.138

    Sau đây là một số đoạn chương trình mình sưu tầm không chắc là đúng nhưng mình cũng post lên để mấy bạn có thể có mà tham khảo thêm nếu cần! sai chỗ nào nhớ bảo nhau để học tốt hơn.

    PP JACOBI
    ---------
    function [x,ss,n]=jacobi(N,a,x0,eps,maxit)
    if nargin<5,maxit = 100;end;
    if nargin<4,eps =1.0e-6;end;
    if nargin<3,error('Ham co it nhat 3 doi so.');end;
    n=0;
    for l=1:maxit
    n=n+1;
    for k=1:N
    sum=0;
    for j=1:N
    if j~=k, sum=sum+a(k,j)*x0(j);end;
    end;
    x(k)=(a(k,N+1)-sum)/a(k,k);
    end;
    ss=0;
    for k=1:N
    if abs(x(k)-x0(k))>ss
    ss=abs(x(k)-x0(k));
    end;
    end;
    if ss<eps,break;end;
    for k=1:N,x0(k)=x(k);end;
    end;



    NEWTON LÙI
    ----------
    function[]=newtonlui1(x,y,x0)
    N=min(length(x),length(y));
    A=zeros(N,N);
    for i=1:N
    A(i,1)=y(1,i);
    end
    for j=2:N
    for i=1:N-j+1
    A(i,j)=A(i+1,j-1)-A(i,j-1);
    end
    end
    z=1;
    yx0=A(N,1);
    q=(x0-x(1,N))/abs(x(1,2)-x(1,1));
    d=1;
    for i=1:N-1
    z=z*(q+i-1);
    d=d*i;
    yx0=yx0+A(N-i,i+1)*z/d;
    end
    disp('BANG NEWTON DIEM NUT CACH DEU');
    disp(A);
    disp('GIA TRI GAN DUNG CUA HAM TAI X0');
    disp(yx0);

    Công thức EULER
    ================================================== ====
    function euler(a,b,y1a,y2a,n);
    a=input('nhap a=');%nhap a
    b=input('nhap b=');%nhap b
    n=input('nhap n=');%nhap n
    y1a=input('nhap y1a=');%nhap y1a
    y2a=input('nhap y2a=');%nhap y2a
    h=(b-a)/n;%tinh buoc nhay h
    x=[];
    x=[x,a]; %bien x thanh ma tran hang`

    y1=[];y1=[y1,y1a];%cho y1 thanh ma tran hang`
    y2=[];y2=[y2,y2a];%cho y2 thanh ma tran hang`
    for i=1:n %tinh x1->xn
    x(i+1)=x(i)+h;
    end;
    for i=1n+1)%tinh y11->y1n va` y21->y2n
    y1(i+1)=y1(i)+h*f(x(i),y1(i),y2(i));%cong thuc tinh y1
    y2(i+1)=y2(i)+h*g(x(i),y1(i),y2(i));%cong thuc tinh y2
    end;
    fprintf('ket qua x=\n');
    disp(x);%in x
    fprintf('y1=\n');
    disp(y1);%in y1
    fprintf('y2=\n');
    disp(y2);%in y2
    function [f1]=f(x,y1,y2);%nhap ham f1
    f1=y2;
    function [f2]=g(x,y1,y2);%nhap ham f2
    f2=exp(2*x)*sin(x)-2*y1+2*y2;%Vi tri nhap ham f2


    Công Thức KUTTA bậc 4
    ==========================================
    function Kutta4(a,b,y1a,y2a,n);
    format long;
    a=input('nhap a='); % Nhap gia tri cua a
    b=input('nhap b='); % Nhap gia tri cua b
    y1a=input('nhap y1(a)=');% Nhap gia tri
    y2a=input('nhap y2(a)=');
    n=input('nhap khoang chia n=');
    x=[];x=[x,a];h=(b-a)/n;
    for i=1:n,x(i+1)=x(i)+h;
    end;
    %tinh cac gia tri cua x1 den xn

    y1=[];y1=[y1,y1a];
    %dua y1 ra dang ma tran
    y2=[];y2=[y2,y2a];
    % dua y2 ra dang ma tran

    for i=1:n
    k11=h*f(x(i),y1(i),y2(i));
    k12=h*g(x(i),y1(i),y2(i));
    k21=h*f(x(i)+h/2,y1(i)+k11/2,y2(i)+k12/2);
    k22=h*g(x(i)+h/2,y1(i)+k21/2,y2(i)+k12/2);
    k31=h*f(x(i)+h/2,y1(i)+k21/2,y2(i)+k22/2);
    k32=h*g(x(i)+h/2,y1(i)+k21/2,y2(i)+k22/2);
    k41=h*f(x(i)+h,y1(i)+k31,y2(i)+k32);
    y1(i+1)=y1(i)+(k11+2*k21+2*k31+k41)/6;%gia tri y1
    k42=h*g(x(i)+h,y1(i)+k31,y2(i)+k32);
    y2(i+1)=y2(i)+(k12+2*k22+2*k32+k42)/6;%gia tri y2
    end;
    % Vong lap tinh cac gia tri cua y1(1) va y2(1) den y1(n) va y2(n)

    fprintf('x=\n');
    disp(x); %IN GIA TRI CUA X
    fprintf('y1=\n');
    disp(y1); %IN GIA TRI CUA Y1
    fprintf('y2=\n');
    disp(y2); %IN RA GIA TRI CUA Y2

    function [f1] = f(x,y1,y2)%ham f1
    f1=3*y1+2*y2-(2*x*x+1)*exp(2*x);
    function [f2] = g(x,y1,y2)%ham f2
    f2=4*y1+y2+(x*x+2*x-4)*exp(2*x);

    Phần gạch dưới các bạn nhớ thay đổi cho phù hợp.

    Thanks đi nào, ai có post thêm nha.

    CHÚC MỌI NGƯỜI HỌC TỐT!
    Hãy bấm nút Thanks để động viên những người có công sưu tầm và chia sẻ nhé !
    Mỗi 1 người Thanks là thêm 1 phần động lực để họ tiếp tục sưu tầm và chia sẻ.
    Hãy Thanks vì 1 cộng đồng BkCar.Net !

  4. #3
    Avatar của admin
    Tình trạng: admin đang ẩn
    Tham gia ngày : Mar 2010
    Giới tính: Nam
    Đến từ : TPHCM
    Tuổi: 25
    Bài gửi : 1.138

    nữa nè
    (cái này lập trình bằng C, nhưng các bạn có thể tham khảo giải thuật)
    Giải pt vi phân cấp 1 bằng Euler cải tiến

    /* Giai gan dung phuong trinh vi phan cap mot bang
    phuong phap Euler cai tien */
    #include <stdio.h>
    #include <math.h>

    #define MAX 1000

    double f(double x, double y)
    {
    return x * y / 2.0;
    }

    void main()
    {
    double a, b, x[MAX], y[MAX], h, epsilon, y1, y2;
    int n, i;

    printf("\nGiai gan dung phuong trinh vi phan cap mot bang phuong phap Euler cai tien.");
    printf("\nVi du giai he : y'= (x.y)/2");
    printf("\nGia tri diem dau a = ");
    scanf("%lf", &a);
    printf("Gia tri diem cuoi b = ");
    scanf("%lf", &b);
    printf("So diem chia n = ");
    scanf("%d", &n);
    printf("Gia tri ban dau Y[%6.2lf] = ");
    scanf("%lf", &y[0]);
    printf("Do lech Epsilon = ");
    scanf("%lf", &epsilon);

    x[0] = a;
    h = (b-a) / n;
    for (i=1; i<n; i++)
    {
    x[i] = x[i-1] + h;
    y1 = y[i-1] + h * f(x[i-1], y[i-1]);
    do {
    y2 = y[i-1] + (h/2) * f(x[i-1], y[i-1]) + f(x[i], y1);
    if (fabs(y1-y2) < epsilon)
    break;
    else
    y1 = y2;
    } while(1);
    y[i] = y2;
    }

    printf("\nNghiem gan dung cua phuong trinh y' = (x.y)/2");
    printf("\ntren doan [%6.2lf,%6.2lf]", a, b);
    printf("\nGia tri dau Y[%6.2lf] = %lf", a, y[0]);
    printf("\nSo khoang chia n = %d", n);
    printf("\n X Y y(x)");
    for (i=0; i<n; i++)
    printf("\n %10.4lf %10.4lf %10.4lf", x[i], y[i], f(x[i],y[i]));
    getch();
    }
    Hãy bấm nút Thanks để động viên những người có công sưu tầm và chia sẻ nhé !
    Mỗi 1 người Thanks là thêm 1 phần động lực để họ tiếp tục sưu tầm và chia sẻ.
    Hãy Thanks vì 1 cộng đồng BkCar.Net !

  5. #4
    Avatar của admin
    Tình trạng: admin đang ẩn
    Tham gia ngày : Mar 2010
    Giới tính: Nam
    Đến từ : TPHCM
    Tuổi: 25
    Bài gửi : 1.138

    Cool


    nữa nè

    AE thanks khích lệ nha.
    File được đính kèm
    Hãy bấm nút Thanks để động viên những người có công sưu tầm và chia sẻ nhé !
    Mỗi 1 người Thanks là thêm 1 phần động lực để họ tiếp tục sưu tầm và chia sẻ.
    Hãy Thanks vì 1 cộng đồng BkCar.Net !

  6. #5
    Tình trạng: 101290 đang ẩn
    Tham gia ngày : Apr 2010
    Giới tính:
    Bài gửi : 15

    không biết xài pascal được không ha.
    Chào bạn [you] hãy cùng 101290 xây dựng diễn đàn Bkcar.Net nhé!

  7. #6
    Avatar của admin
    Tình trạng: admin đang ẩn
    Tham gia ngày : Mar 2010
    Giới tính: Nam
    Đến từ : TPHCM
    Tuổi: 25
    Bài gửi : 1.138

    Trích dẫn Nguyên văn bởi 101290 Xem bài viết
    không biết xài pascal được không ha.
    được luôn, viết được nhưng chủ yếu là biết viết không thôi, tìm bài mà post hạn chế spam bạn nhé.
    Hãy bấm nút Thanks để động viên những người có công sưu tầm và chia sẻ nhé !
    Mỗi 1 người Thanks là thêm 1 phần động lực để họ tiếp tục sưu tầm và chia sẻ.
    Hãy Thanks vì 1 cộng đồng BkCar.Net !

  8. #7
    Avatar của phelps911
    Tình trạng: phelps911 đang ẩn
    Tham gia ngày : Mar 2010
    Giới tính: Nam
    Bài gửi : 541

    có code công thức chia đôi không, admin?
    [SIGPIC][/SIGPIC]
    Sometimes, despite your best efforts otherwise, life will give you lemons.
    When that happens, you've got two choices, friend: you can wear a sour face or make lemonade.

  9. #8
    Avatar của admin
    Tình trạng: admin đang ẩn
    Tham gia ngày : Mar 2010
    Giới tính: Nam
    Đến từ : TPHCM
    Tuổi: 25
    Bài gửi : 1.138

    chưa có, tham khảo trong sách ấy. làm xong pót lên cho mọi người tham khảo nha.
    Hãy bấm nút Thanks để động viên những người có công sưu tầm và chia sẻ nhé !
    Mỗi 1 người Thanks là thêm 1 phần động lực để họ tiếp tục sưu tầm và chia sẻ.
    Hãy Thanks vì 1 cộng đồng BkCar.Net !

  10. #9
    Avatar của phelps911
    Tình trạng: phelps911 đang ẩn
    Tham gia ngày : Mar 2010
    Giới tính: Nam
    Bài gửi : 541

    sách viết sai chỗ nào ấy, ko chạy được
    [SIGPIC][/SIGPIC]
    Sometimes, despite your best efforts otherwise, life will give you lemons.
    When that happens, you've got two choices, friend: you can wear a sour face or make lemonade.

  11. #10
    Tình trạng: 21000831 đang ẩn
    Tham gia ngày : Aug 2011
    Giới tính: Nam
    Tuổi: 20
    Bài gửi : 1

    may a giup dum e giai phuong trinh vi phan cap 2 bang pp sai phan huu han trong matlab
    Chào bạn [you] hãy cùng 21000831 xây dựng diễn đàn Bkcar.Net nhé!

Trang 1/2 12 CuốiCuối

Tags for this Thread

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • 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
  •