intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chương 1: Một số vấn đề về đa thức và hàm số

Chia sẻ: Đinh Trường Gấu | Ngày: | Loại File: DOC | Số trang:9

98
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Ngoài nhiệm vụ chính của phương pháp tính là tìm các phương pháp giải gần đúng các bài toán, nó còn có nhiệm vụ khác như nghiên cứu tính chất nghiệm, nghiên cứu bài toán cực trị, xấp xỉ hàm v.v. Trong phần này chúng ta sẽ nghiên cứu một loạt bài toán thường gặp trong thực tế và đưa ra chương trình giải chúng.

Chủ đề:
Lưu

Nội dung Text: Chương 1: Một số vấn đề về đa thức và hàm số

  1. CHƯƠ NG  1: MỘT SỐ  VẤ N  Đ Ề  VỀ  ĐA  THỨC  VÀ HÀM  SỐ §1. KHÁI NIỆ M CHUNG 1. Khái niệ m về  ph ương pháp tính : Phươ ng  pháp  tính  là môn  học về  nhữ ng  lí luậ n  cơ  bản và các ph ươ ng  pháp  giải gầ n đúng,  cho ra kết qu ả  bằng  số của các bài toán  thườ ng   gặ p  trong  toán  học cũng  nh ư  trong  kĩ thu ậ t. Chúng  ta  th ấ y  rằng  h ầ u  h ết  các  bài  toán  trong  toán  học  nh ư  giải  các phươ ng   trình  đại  số  hay  siêu  việt,  các hệ  ph ươ ng  trình  tuy ế n  tính  hay  phi  tuy ế n,  các phươ ng   trình  vi  phân  thườ ng  hay  đ ạ o  hàm  riêng,tính  các  tích  phân,...  thườ ng  khó  giải  đúng   đ ượ c, nghĩa  là khó  tìm  kết qu ả  dướ i dạ ng  các biể u  thức. Một  số  bài  toán  có thể  giải đúng  đượ c nh ư ng  biể u  thức kết qu ả  lại cồng  k ềnh,   ph ứ c  tạ p  kh ối  lượng  tính  toán  rấ t  lớn. Vì nh ữ ng  lí do  trên,  việc giải gần  đúng  các bài   toán  là vô cùng  cần thiế t. Các bài toán  trong  kĩ thu ậ t  th ườ ng  d ựa  trên  số  liệ u  thực nghi ệ m  và  các giả  thiế t   gần  đúng.  Do vậy  việc tìm  ra  kết qu ả  gần  đúng  với sai số  cho  phép  là hoàn  toàn  có ý   nghĩa  thực tế. Từ lâu  ngườ i ta đã  nghiên  cứu ph ươ ng  pháp  tính  và  đạ t  nhiề u  kết quả  đáng  kể.   Tuy  nhiên  để  lời giải đạ t  đ ượ c độ  chính  xác cao, khối  lượng  tính  toán  thườ ng  rấ t  lớn.   Với các ph ươ ng  tiện  tính  toán  thô  sơ, nhiề u  ph ươ ng  pháp  tính  đã  đượ c đề  xuấ t  không   thể  thực hiện  đ ượ c vì khố i lượng  tính  toán  quá  lớn. Khó khăn  trên  đã  làm  phươ ng  pháp   tính  không  phát  triể n  đượ c. Ngày  nay  nh ờ  máy  tính  điệ n  tử  ngườ i ta đã  giải rất nhanh  các bài toán  khổ ng  lồ,   ph ứ c  tạ p,  đã  kiể m  nghi ệ m  đ ượ c các ph ươ ng  pháp  tính  cũ  và  đề  ra  các phươ ng  pháp   tính  mới. Ph ươ ng  pháp  tính  nh ờ  đó  phát  triể n  rất  mạ nh  mẽ. Nó  là cầ u  nối  giữa  toán   học và thực tiễn. Nó  là môn  học không  thể  thiế u  đố i với các kĩ sư. Ngoài  nhiệ m  vụ  chính  của ph ươ ng  pháp  tính  là tìm   các ph ươ ng  pháp  giải  gầ n   đúng   các bài  toán,nó  còn  có nhiệ m  vụ  khác  nh ư  nghiên  cứu  tính  chất  nghi ệ m,  nghiên   cứu  bài  toán  cực trị, xấp  xỉ  hàm  v.v. Trong  ph ầ n  này  chúng  ta  sẽ  nghiên  cứu  mộ t   loạt   bài toán  thườ ng  gặ p  trong  th ực tế  và đư a  ra chươ ng  trình  giải chúng. 2. Các đặc điể m  của phươ ng  pháp  tính : Đặc điể m  về  ph ươ ng  pháp  của môn  học này   là hữ u  hạ n  hoá  và rời rạc hoá. Phươ ng  pháp  tính   thườ ng  biến  cái vô  hạ n  thành  cái hữ u  hạ n,  cái liên  tục thành   cái rời rạc và sau  cùng  lại trở  về  với cái vô hạ n, cái liên  tục. Nh ư ng  cần chú  ý rằ ng  quá   trình  trở  lại cái vô hạ n,  cái liên  tục ph ải  trả  giá đắ t  vì khố i lượng  tính  toán  tăng  lên  rấ t   nhiề u.  Cho  nên  trong  th ực tế  ng ười  ta  d ừng  lại khi  nghi ệm  g ần  đúng  sát  với nghiệ m   đúng  ở mộ t mức độ  nào  đó. Đặc điể m  thứ  hai  của môn  học là sự  tiến  đế n  kết  quả  bằng  quá  trình  liên  tiế p.   Đó  là  quá  trình  chia  ngày  càng  nhỏ  hơ n,  càng  dày  đặ c  hơ n  hoặc  quá  trình  tính  toán   bước sau  d ựa  vào  các kết quả  của các bước trướ c. Công  việc tính  toán  lặ p đi lặ p lại này   rất thích  hợ p  với máy  điệ n  toán. Khi nghiên  cứu ph ươ ng  pháp  tính  ngườ i ta th ườ ng  triệt để  lợi dụ ng  các kế t quả   đạ t  đ ượ c  trong  toán  học. Cùng  mộ t  bài  toán  có thể  có nhiề u  ph ươ ng  pháp  tính  khác   nhau.  Một ph ươ ng  pháp  tính  đ ượ c coi là tố t nế u   nó đạ t  các yêu  cầ u sau: ­ ph ươ ng  pháp  tính  đ ượ c biể u  diễ n  bằng  m ột  dãy  hữ u  hạ n  các bước tính  cụ thể.   Các bước tính  toán  cụ thể  này  của ph ươ ng  pháp  tính  đượ c gọi là thuậ t  toán.  Thuậ t  toán   càng  đơ n  giản càng  tốt. ­ đánh  giá đượ c sai số và sai số càng  nhỏ  càng  tốt. ­ thu ậ t  toán  thực hiệ n  đ ượ c trên  máy  điệ n  toán  và thời gian  chạy máy  ít nhấ t 1
  2. 3. Các loại  sai  số: Trong  việc thi ết  lập  và  giải các bài  toán  thực tế  ta  th ườ ng  gặ p  các   loại sai số. Giả  sử ta xét bài toán  A nào  đó. Nghiên  cứu các quy  luậ t liên  hệ  giữa các đạ i   lượng  trong  bài toán  đẫ n  đế n  ph ươ ng  trình  có dạ ng  tổ ng  quát  : y = Bx Trong  đó  : x ­ đại lượng đã  biết          y ­ đại lượng  chưa biết          B ­ quy  luật biến đổi từ  x sang  y Bài toán  thực tế  th ườ ng  rất  ph ức  tạp.  Để  đơ n  giả n  và  có thể  diễ n  đạ t  nó  bằ ng   toán  học, ng ườ i  ta  đư a  ra  mộ t  số  giả  thiết  không  hoàn  toàn  chính  xác để  nhậ n  đượ c   ph ươ ng  trình  trên. Vì vậy nế u  gọi y 1 là giá trị  đúng  của y thì khi  đó  y   y 1. Giá trị  |  y ­ y 1|  đượ c gọi   là sai số giả thiết của bài toán. Do x là số  liệu  ban  đ ầ u  của bài toán,thu  đượ c từ  đo  lường,thí  nghiệ m  nên  nó  chỉ  là giá trị  gần đúng.  Sai số  này  đ ượ c gọi là sai số của các số liệu ban đầu . Để  giải gần  đúng  ph ươ ng  trình  trên  ta  thườ ng  thay  B bằng  C hay  x b ằng  t để   ph ươ ng  trình  đ ơ n  giản  hơ n  và  có thể  giải đượ c. Bằng cách đó  ta tìm  đượ c y 2 gần  đúng   với y. Giá trị  |  y 2 ­ y |  đượ c gọi là sai số phương pháp của bài toán. Cuối cùng  khi thực hiện  các phép  tính  ta thườ ng  thu  gọn các kết qu ả  trung  gian  hay  kết   quả  cuối cùng  nên  đáp  số  của bài toán  là y 3. Giá trị  | y 3­y |  là sai số tính  toán.  Trong  ph ầ n  này  chúng  ta quan  tâm  tới sai số ph ươ ng  pháp. 4. Xấp xỉ và hội tụ: Xét bài toán   y = Bx Giả  sử  y là nghi ệ m  đúng  của bài  toán  mà  ta  chưa  biết. Bằng  ph ươ ng  pháp  nào   đó  ta lấy y 1 thay  cho y và khi đó  y 1 gọi là xấ p xỉ thứ  nh ấ t  của nghiệ m  và viế t : y 1   y Cũng  bằng  ph ươ ng  pháp  tươ ng  tự, ta  xây  dự ng  đượ c  mộ t  dãy  các xấ p  xỉ  y 1,y 2,y 3,..y n .  Nế u  ta có : lim y n y n thì ta nói dãy  xấ p xỉ hội tụ  tới nghi ệ m  y. §2. TÍNH  GIÁ TRỊ CỦA ĐA  THỨC 1. Sơ  đồ  Horner: Giả  sử  chúng  ta cần tìm  giá trị  của mộ t  đa  thức tổng  quát  dạ ng: P(x) = a 0xn  + a 1xn ­ 1 + a 2xn ­ 2 +....+ a n (1) tại mộ t  trị  số  x nào  đó.  Trong  (1) các hệ  số  a i là các số  thực đã  cho. Chúng  ta viết lại (1)   theo  thu ậ t  toán  Horner  d ướ i d ạ ng: P(x o) = (...((a 0x + a 1)x+ a 2x)+...+ a n ­1 )x + a n   (2) Từ (2) ta nh ậ n  th ấ y : P 0 = a 0 P 1 = P 0x + a 1 P 2 = P 1x + a 2 P 3 = P 2x + a 3   .................. P(x) = P n  = P n­1x + a n Tổng quát  ta có : P k  = P k­1x + a k với k = 1, 2...n ; P 0 = a 0 Do  chúng  ta  chỉ  quan  tâm  đế n  trị  số  của  P n   nên  trong  các công  thức  truy  h ồi  v ề  sau   chúng  ta sẽ bỏ  qua  ch ỉ  số k của P và viết gọn  P := Px + a k  với k = 0...n.Khi ta tính  tới k =   n thì P chính  là giá trị  cần tìm  của đa  thức khi  đã  cho x. Chúng  ta thử  các bước tính  nh ư   sau  : Ban đầ u   P = 0 2
  3. Bước 0  k = 0 P = a o Bước 1 k = 1  P = a ox + a 1 Bước 2 k = 2  P = (a ox + a 1)x + a 2 ................................. Bước n­1 k = n ­ 1 P = P(x o) = (...((a ox + a 1)x+a 2x)+...+a n­1)x Bước n k = n P = P(x o) = (...((a ox + a 1)x+a 2x)+...+a n­1)x + a n Sau đây  là chươ ng  trình  thực hiên  thu ậ t  toán  trên Chương trình 1­1 #include   #include   #define  m   10 void  main(void)   {     int  k,n;     float p,x;     float a[m];     clrscr();     printf("\nCho  bac cua  da  thuc  n = ");     scanf("\%d",&n);     printf("Vao cac he so a:\n");     for (k=1;k
  4. So sánh  (2) và (3) ta có : P (x0 ) P (x 0 ) ( x x 0 )Pn 1 ( x 0 ) Pn ( x 0 ) Pn ( x 0 ) (x x0 ) ( x x 0 )2 1! 2!          P ( n ) (x 0 ) ( x x 0 )n 2! hay  : P (x0 ) P (x 0 ) P (n ) (x0 ) ( x x 0 )Pn 1 ( x ) (x x0 ) ( x x 0 )2 ( x x 0 )n 1! 2! 2! và khi chia hai vế  cho (x ­ x 0) ta nhậ n  đ ượ c : P (x 0 ) P (x 0 ) P ( n ) (x 0 )   Pn 1 ( x) (x x0 ) ( x x 0 )n 1 (5)  1! 2! 2! So sánh  (4) và (5) ta nhậ n  đượ c kết qu ả  : P (x 0 )                    Pn 1 ( x 0 ) 1! Trong  đó  Pn ­1(x) lại có thể  phân  tích  giống  nh ư  P n (x) d ạ ng  (3) để  tìm  ra  P n­1(xo).  Quá  trình  này  đượ c tiế p  tục cho đế n  khi ta tìm  hế t các hệ  số  của chuỗ i Taylor  của P n (x)  Tổng quát  thu ậ t  toán  thể  hiệ n  ở bảng  sau: P n (x)        a o a1 a2 a3 ... a n­1 an           x = xo       0 b oxo b 1xo b 2xo b n­2xo b n­1xo          P+ ­1(x)      b o b1 b2 b3 ... b n­1 b n  = P n (xo) Để  hiể u  rõ hơ n  chúng  ta lấy mộ t ví dụ  cụ thể  sau: Khai triển  đa  thứ c sau  tại x0 = 2  P(x) = x5 ­ 2x4 + x3 ­5x + 4 Ta lậ p bảng  tính  sau :                      2       1 ­2 1 0 ­5 4              0  2 0 2  4 2 2 1  0 1 2 ­1         2 = P(2)/0!               0  2 4 10 24                     2       1  2 5 12         23 = P'(2)/1!                0         2 8 26                     2       1  4 13 38 = P"(2)/2!               0  2 12 2 1  6 25 = P"'(2)/3!                0  2  2    1  8 = P""(2)/4!                           0              1 = P""'(2)/4! Nh ư  vậy : P n (x) = (x ­ 2)5 + 8(x ­ 2)4  + 25(x ­ 2)3  + 38(x ­ 2)2 + 23(x ­ 2) + 2 Chươ ng  trình  sau  dùng  để  xác đị nh  các hệ  số  của chuỗi  Taylor  của đa  thứ c P(x)   tại x0 = 2.  Chương trình 1­2 #include   #include   4
  5. #define   m   10 void  main(void)   {      float a[m],b[m],c[m];      int n,i,j,k;      float x;      clrscr();      printf("Cho  bac cua  da  thuc  n = ");      scanf("%d",&n);      printf("Cho  gia tri x = ");      scanf("%f",&x);      printf("Vao cac he so a\n");      for (k=n;k>=0;k­­)        {  printf("a[%d] = ",n­k);  scanf("%f",&a[k]);        }      printf("\n");      b[n] = a[n];      c[n] = a[n];      for (k=0;k=k;i­­)     b[i] = b[i+1]*x + a[i];   c[k] = b[k];   for (j=n;j>=k+1;j­­)     a[j] = b[j];        }      printf("\nSo  do  Horner  tong  quat");      printf("\nKhai  trien  tai x = %.4f\n",x);      for (k=n;k>=0;k­­)    printf("%10.4f\t",c[k]);      getch();   } §3. CÁC PHÉP TÍNH  TRÊN ĐA  THỨC 1. Phép  cộng hai đa thức : Giả  sử chúng  ta có hai đa  thức A(x) bậc n và B(x) bậc m  với n   > m. Khi cộng hai đa  thức này, chúng  ta cộng lần lượt các hệ  số  cùng  bậc của chúng  với   nhau.  Ta có chươ ng  trình  sau  : Chương trình 1­3 #include   #include   #define  t 10 void  main(void)   {     int k,n,m;     float a[t],b[t],c[t]; 5
  6.     clrscr();     printf("Cho  bac cua  da  thuc  A n = ");     scanf("%d",&n);     printf("Vao cac he so a\n");     for (k=1;k
  7. Chương trình 1­4 #include   #include   #define  t  10 void  main()   { int k,n,m,l,i,j,p; float a[t],b[t],c[2*t]; clrscr(); printf("Cho  bac cua  da  thuc  A n = "); scanf("%d",&n); printf("Vao cac he so a\n"); for (k=1;k
  8. 3. Chia hai  đa thức: Giả  sử  ta  có hai  đa  thức là A n (x) và  Bm (x) với n m.  Thươ ng  hai  đa   thức này  là : A n (x) R m 1 ( x)                                      Qn m (x) Bm ( x) Bm ( x ) Chươ ng  trình  sau  th ực hiện  việc chia 2 đa  thức :  Chương trình 1­5 #include   #include   #include   #define  t 10 void  main()   { int k,n,m,l,i,j,jp; float a[t],b[t],q[t],r[t],epsi; clrscr(); printf("Cho  bac cua  da  thuc  A n = "); scanf("%d",&n); printf("Vao cac he so a\n"); for (k=1;k
  9.   j=j­1;   } while  ((abs(r[i])0))   { for (i=1;i
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1