Iza Wadowska
Nowicjusz
- Dołączył
- 16 Styczeń 2014
- Posty
- 1
- Punkty reakcji
- 0
Witam,
chciałabym prosić o pomoc w rozwiązaniu takiego zadania:
Napisz funkcję w języku C obliczającą podaną funkcję. Dla 20 wybranych wartości argumentu funkcji wypisz : argument, wartość napisane funkcji, wartość funkcji bibliotecznej i błąd względny twojej funkcji względem funkcji bibliotecznej.
ln(1+x)=x-(1/2x^2)+(1/3x^3)-(1/4x^4)...
Porównaj z wartoscią funkcji log(1+x)
Dokładnie chodzi mi o samą funkcję, która policzy ln dla x podanego przez użytkownika. Napisałam coś takiego, jest źle, ale nie wiem co. Jestem baaaaaaaaardzo początkująca, więc proszę mi wybaczyć, jeśli napisałam kompletną bzdurę Nie chcę bezmyślnie przepisać rozwiązania z internetu, jeśli ktoś byłby tak miły i wytłumaczył mi co jest źle i jak to poprawić, będę bardzo wdzięczna Oto moja zła wersja:
#include <stdio.h>
#include <math.h>
double logn (double x)
{
double szereg;
szereg=x;
int iter=2;
int n;
if((iter%2)==0){
szereg=szereg-pow(-1,n-1)*(pow(x, n)/n);
iter++;
}
else{
szereg=szereg+pow(-1,n-1)*(pow(x, n)/n);
iter++;
}
return szereg;
}
int main()
{
double a;
int n;
printf("podaj a: \n");
scanf("%f", &a);
for (n=0;n>=0;n++)
printf("logarytm naturalny wynosi %lf", logn(a));
getchar();
}
chciałabym prosić o pomoc w rozwiązaniu takiego zadania:
Napisz funkcję w języku C obliczającą podaną funkcję. Dla 20 wybranych wartości argumentu funkcji wypisz : argument, wartość napisane funkcji, wartość funkcji bibliotecznej i błąd względny twojej funkcji względem funkcji bibliotecznej.
ln(1+x)=x-(1/2x^2)+(1/3x^3)-(1/4x^4)...
Porównaj z wartoscią funkcji log(1+x)
Dokładnie chodzi mi o samą funkcję, która policzy ln dla x podanego przez użytkownika. Napisałam coś takiego, jest źle, ale nie wiem co. Jestem baaaaaaaaardzo początkująca, więc proszę mi wybaczyć, jeśli napisałam kompletną bzdurę Nie chcę bezmyślnie przepisać rozwiązania z internetu, jeśli ktoś byłby tak miły i wytłumaczył mi co jest źle i jak to poprawić, będę bardzo wdzięczna Oto moja zła wersja:
#include <stdio.h>
#include <math.h>
double logn (double x)
{
double szereg;
szereg=x;
int iter=2;
int n;
if((iter%2)==0){
szereg=szereg-pow(-1,n-1)*(pow(x, n)/n);
iter++;
}
else{
szereg=szereg+pow(-1,n-1)*(pow(x, n)/n);
iter++;
}
return szereg;
}
int main()
{
double a;
int n;
printf("podaj a: \n");
scanf("%f", &a);
for (n=0;n>=0;n++)
printf("logarytm naturalny wynosi %lf", logn(a));
getchar();
}