You are on page 1of 7

Bài tập chương 2,3 phương pháp tính

Bài 1: Cho hàm số y= ( a +16 ) c


3
4 2
với các số gần đúng a16,08; b2,005; c34,202
8 b4

Bài làm:
- Xét a=b=c=0,001

Ta có | y |¿ ( 16 , 08 +16 ) . 34,2024 =217,425


3
4 2
- 1
8. 2,0054
- ln y 1=ln ( a 4 +16 )+ln c 2−ln 8 b4
3

| |
−1
4
a 4 2
- ln y 1=¿ ¿ 3
.a + .b+ . c =2,074. 10−3
|b| |c|
4
a + 16
 y 1=| y 1|. y 1=0,451
#include<stdio.h>
#include<math.h>
int main()
{
float a=16.08,b=2.005,c=34.202,y1;
float delta=0.001;
float abserror, relerror;
y1=((pow(a,0.75)+16)*pow(c,2))/(8*pow(b,4));
relerror=((pow(a,-0.25)/(pow(a,0.75)+16))+(4/b)+(2/c))*delta;
abserror=relerror*y1;
printf("Sai so tuong doi: %.3f\n", relerror);
printf("Sai so tuyet doi: %.3f", abserror);
}
Bài 2:
Cho hàm số f(x)=16 x 5+8 x 4 +2 x 3+ 5 x 2 +3 x+ 4
Horner đơn giản:
a) Tính f(4),f(-3)
- f(4):
Áp dụng sơ đồ Horner ta có:
16 8 2 5 3 4
64 288 1160 4660 18652
16 72 290 1165 4663 18656

 Vậy kết quả của f(4) là 18656


- f(-3):
Áp dụng sơ đồ Horner ta có:
16 8 2 5 3 4
-48 120 -366 1083 -3258
16 -40 122 -361 1086 -3254

 Vậy kết quả của f(-3) là -3254


#include<stdio.h>
#include<math.h>
void cal(float[],int ,int);
void in(float[],int);
int main(){
int n;
float a[10],x;
printf("Nhap bac cua da thuc: ");
scanf("%d",&n);
printf("Nhap gia tri can tinh: ");
scanf("%f",&x);
in(a,n);
cal(a,n,x);
}

void in(float a[],int n){


for(int i=0; i<=n; i++){
printf("Nhap he so cua x^%d: ",n-i);
scanf("%f",&a[i]);
}
}

void cal(float a[],int n, int x){


float p=a[0];
for(int i=1; i<=n; i++){
p=p*x+a[i];
}
printf("Ket qua cua da thuc: %.3f",p);
}

Horner tổng quát:


Xác định f(x+1) và f(x-1)
- f(x+1):
16 8 2 5 3 4
16 24 26 31 34
16 24 26 31 34 38
16 40 66 97
16 40 66 97 131
16 56 122
16 56 122 219
16 72
16 72 194
16
16 88
f(x+1)=16 x 5+ 88 x 4 +194 x 3 +219 x2 +131 x+ 38
- f(x-1):
16 8 2 5 3 4
-16 8 -10 5 -8
16 -8 10 -5 8 -4
-16 24 -34 39
16 -24 34 -39 47
-16 40 -72
16 -40 72 -111
-16 56
16 -56 128
-16
16 -72
f(x-1)=16 x 5−72 x 4 +128 x3 −111 x 2+ 47 x−4

Bài 3:
Tìm khai triển Maclaurin của hàm số f(x)=ln(1+x)
2 3 4 n
Ta có ln(x+1)= x− x2 + x3 − x4 + …+ (−1 )n−1 xn

Với x=0.2, tính ln(x+1) có kết quả là 0.182với độ chính xác là 0,001
#include<stdio.h>
#include<math.h>
double Mac(double);

int main(){
double x;
int n;
printf("nhap x: ");
scanf("%lf",&x);
printf("ln(1+%.3lf)=%.3lf",x,Mac(x));
return 0;
}

double Mac(double x)
{
double result = 0;
for(int i=1;i<=4;i++){
result += pow(-1,i+1)*pow(x,i)/i;
}
return result;
}

You might also like