1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo thực hành Phương pháp tính (Ngành Công nghệ thông tin)

32 511 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo thực hành phương pháp tính
Tác giả Trần Quốc Hoàn
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công nghệ thông tin
Thể loại báo cáo
Định dạng
Số trang 32
Dung lượng 482,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Báo cáo thực hành Phương pháp tính (Ngành Công nghệ thông tin) Khoa Công nghệ thông tin Đại học Bách khoa Đà Nẵng

Trang 1

GIỚI THIỆU

Phương pháp tính là môn học trang bị cho sinh viên các kiến thức cơ bản về phươngpháp tính trong kỹ thuật Trên nền tảng các kiến thức của giải tích, đại số và hìnhhọc, học phần này cung cấp các phương pháp giải gần đúng hệ phương trình tuyếntính, phương trình và hệ phương trình đại số, các phương pháp số cho phương trình

vi phân và phương trình đạo hàm riêng trong kỹ thuật Trọng tâm của học phần này

là các phương pháp sai phân và phương pháp phần tử hữu hạn cho các phương trìnhđạo hàm riêng giá trị đầu và giá trị biên Xây dựng và đánh giá sai số cho các lược

đồ sai phân, lược đồ cho các phần tử hữu hạn

Học phần thực hành nhằm vận dụng lí thuyết về môn Phương pháp tính để giải quyếtcác bài toàn cụ thể Phân tích, lập trình để giải các bài toán về sai số, tính giá trị cáchàm số, giải gần đúng phương trình đại số, phương trình siêu việt, giải hệ phươngtrình đại số tuyến tính, tìm giá trị riêng, vecto riêng

Trang 2

printf("Da thuc bac %d\n",n);

printf("Cac he so cua da thuc:\n");

Trang 3

1.3 Chương trình

Hoonner1.cpp

1.4 Kết quả

2 Viết chương trình thực hiện các công việc sau:

Khai báo (định nghĩa) hàm tính giá trị đa thức p(x) bậc n tổng quát theo sơ đồ Hoocner

Nhập vào đa thức p(x) bậc n và 2 giá trị thực y, z Tính:

+bậc đa thức n, các giá trị thực cần tính y,z, các hệ số a i (i=0 ,n )

+bậc đa thức n,m, giá trị thực cần tính c, các hệ số a i , b i (i=0 ,n )

Trang 4

printf("\nDa thuc P(x) bac %d\n",n);

printf("Cac he so cua da thuc:\n");

printf("\nDa thuc P1(x) bac %d\n",n1);

printf("Cac he so cua da thuc:\n");

printf("\nDa thuc P2(x) bac %d\n",n2);

printf("Cac he so cua da thuc:\n");

Trang 6

3 Cho đa thức p(x) bậc n, viết chương trình xác định các hệ số của đa thức

p(y+c) theo sơ đồ Hoocner tổng quát.

3.1 Thuật toán

- Nhập : n, c, a i (i =0 ,n )

- Lặp k = n → 1

Lặp i = 1 → k : a i = a i-1 * c + a i

Trang 7

printf("\nDa thuc bac %d\n",n);

printf("Cac he so cua da thuc:\n");

Trang 9

II Giải gần đúng phương trình

Để tìm nghiệm gần đúng của phương trình f(x) = 0 ta tiến hành qua 2 bước:

- Tách nghiệm: xét tính chất nghiệm của phương trình, phương trình có nghiệm hay không, có bao nhiêu nghiệm, các khoảng chứa nghiệm nếu có Đối với bước này, ta có thể dùng phương pháp đồ thị, kết hợp với các định lý mà toán học

hỗ trợ

- Chính xác hoá nghiệm: thu hẹp dần khoảng chứa nghiệm để hội tụ được đến giá trị nghiệm gần đúng với độ chính xác cho phép Trong bước này ta có thể áp dụng một trong các phương pháp:

+ Phương pháp chia đôi

+ Phương pháp lặp

+ Phương pháp tiếp tuyến

+ Phương pháp dây cung

1 Viết chương trình tìm nghiệm gần đúng cho phương trình có dạng tổng quát f(x) = a 0 x n + a 1 x n-1 + … + a n-1 x + a n = 0 bằng phương pháp chia đôi

1.1 Thuật toán

- Khai báo f(x) là hàm tính giá trị đa thức bậc n

- Nhập khoảng nghiệm a, b sao cho f(a)<0 và f(b)>0

Trang 10

fscanf(f,"%d",&n);

printf("Da thuc f(x) bac %d\n",n);

printf("Cac he so cua da thuc:\n");

else a=c;

Trang 12

printf("Da thuc f(x) bac %d\n",n);

printf("Cac he so cua da thuc:\n");

Trang 14

3 Viết chương trình tìm nghiệm cho phương trình e x - 10x + 7 = 0 (có thể thay phương trình khác) bằng phương pháp tiếp tuyến.

- Xuất nghiệm: x (hoặc y)

Trang 17

III Giải hệ phương trình đại số tuyến tính

1 Viết chương trình giải hệ phương trình đại số tuyến tính bằng phương pháp Krame

Trang 18

-Hàm hoán đổi hai dòng trong một ma trận:

void doidong(int i1,int i2)

-Hàm hoán đổi hai cột trong một ma trận:

void doicot(int j1, int j2)

Trang 20

{

for(i=1;i<=n;i++){

- Nhập n, a ij () (nhập trực tiếp hoặc từ file)

- Biến đổi A A’ (ma trận tam giác trên)

+Lặp i = 1→n -1

Tìm j sao cho a ji # 0 , j = i+1→n

Trang 21

Nếu j<=n thì hoán đổi dòng i và dòng j cho nhau ngược lại thì kết thúc (vì dữ liệu ko hợp lệ)

-Hàm hoán đổi giá trị 2 dòng cho nhau:

void doidong(int p,int q)

{

Trang 23

2.4 Kết quả

3 Viết chương trình giải hệ đại số tuyến tính bằng phương pháp lặp Gauss Siedel

3.1 Thuật toán:

- Nhập n, a ij (i=1→n, j=1→n+1) (nhập trực tiếp hoặc từ file)

- Nhập xấp xỉ nghiệm ban đầu: x i (i =1→n)

Trang 24

y[i]=(a[i][n + 1] - s )/a[i][i];

if(fabs(x[i]-y[i])>0.001)

Trang 26

IV Nội suy

1 Cho hàm f(x) thoả mãn bảng giá trị:

Trang 27

}

printf("\nKet qua: f(%.3f)=%.3f",t,w*s);

Trang 29

Quét dòng n của file heso.txt và gán cho p i (i=0,1, …n)

J = 0 Lặp i = 0→ n : J = J + y i *p i

Xuất kết quả : (b-a)*J

Ngày đăng: 27/12/2013, 04:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w