Potrzebuję następujący program w C:
Aproksymacja wybranej funkcji przy pomocy twierdzenia Taylora. Użytkownik wybiera funkcję z listy.
Z góry dziękuję za pomoc
C - program - aproksymacja
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
C - program - aproksymacja
Nikt ci raczej nie napisze calego programu, bo to by zajmowalo za dlugo Sam mam program, ktory liczy logarytm naturalny z wybranej liczby z rozwiniecia go w szereg maclaurina. Mam nadzieje, ze sie przyda. Oto kod:
Program dodatkowo porownuje wynik z wynikiem z gotowej funkcji ln z math.h i wyswietla blad. POZDRO
Kod: Zaznacz cały
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
float x=0; // wartosc ln do przyblizenia
int N=0; // dokladnosc
int n=0; // zmienna do petli (powtorzenie sumowania)
float lnx=0; // zmienna z wartoscia obliczona ln(x)
float lib_lnx=0; // zmienna z wartoscia ln(x) z math.h
float temp=0; // (x-1)/x - pomocnicza poza petla
float error; // wartosc bledu
printf("Podaj wartosc x-a do obliczenia (x>=0,5): ");
scanf("%f",&x);
if( x<0.5)
{
printf("Zle dane!\nNacisnij cos...");
getch();
exit(0);
}
printf("Podaj dokladnosc N (N>0): ");
scanf("%d",&N);
if( N<1 )
{
printf("Zle dane!\nNacisnij cos...");
getch();
exit(0);
}
temp=((x-1)/x); //staly element w petli
for(n=1; n<=N; n++)
{
lnx+=(1/(float)n)*pow(temp,n);
}
printf("ln(%.2f)=%f \n\n",x,lnx);
lib_lnx=log(x);
printf("Bibliotecznie: %f\n", lib_lnx);
error=((lnx-lib_lnx)/lib_lnx)*100;
if(error<0) error=-error; // modul z bledu
if(lib_lnx==0) error=0; // dzielenie przez 0
else printf("Blad wynosi w przyblizeniu: %f%c", error,'%');
getch();
return 0;
}
- qaz
- Użytkownik
- Posty: 486
- Rejestracja: 28 paź 2006, o 21:56
- Płeć: Kobieta
- Lokalizacja: Gobbos' Kingdom
- Podziękował: 311 razy
- Pomógł: 5 razy
C - program - aproksymacja
Na pewno sie przyda. Miałam świadomość, że całego nie dostene ale przyda się cokolwiek, ja pokombinuje i może coś z tego wyjdzie ...
Dziękuję i pozdrawiam
Dziękuję i pozdrawiam
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
C - program - aproksymacja
Programik wcale nie jest taki trudny. Dla kazdej funkcji (nie wiem ile i jakie one maja byc) piszesz oddzielna funkcje i ladnie to wszystko sklejasz. Kilka rozwiniec znajdziesz tutaj:
... Maclaurina
Wystarczy to przelozyc na jezyk komputera tak jak w moim przypadku.
P.S. Oczywiscie ten programik nie jest taki efektywny, ale mozesz dalej kombinowac. POZDRO
... Maclaurina
Wystarczy to przelozyc na jezyk komputera tak jak w moim przypadku.
P.S. Oczywiscie ten programik nie jest taki efektywny, ale mozesz dalej kombinowac. POZDRO
C - program - aproksymacja
dostajesz sprytnego .DLLa, dasz mu np.:
Taylor(x,0,5)Sin(x)
a otrzymasz
x-x^3/6+x^5/120