Metody numeryczne oraz funkcje.

0

Mam prosty program:

 #include <stdio.h>
 
int foo(void);
 
int main()
{
    printf("Hello, World!\n");
    foo();
    return 0;
}
 
int foo(void)
{
    return 5;
}

funkcja zwraca int, ale tej zwracanej wartości nigdzie nie wykorzystujemy, a kompilator nic nam nie zarzuca.

Druga sprawa to metody numeryczne.
Czym się różni interpolacja od aproksymacji?
Jeżeli funkcję sin(x) dla małych kątów przybliżymy funkcją liniową to będzie aproksymacja?
Czym zatem jest interpolacja i ekstrapolacja?

1

Ad 1: printf samo też zwraca int i nic się złego nie dzieje, że tej wartości nigdzie nie wykorzystujesz. Dlaczego sądzisz, że powinno być inaczej?

2

Obowiązek jawnego wykorzystania (lub zignorowania) zwracanej wartości jak najbardziej może mieć sens i afaik jest stosowany w niektórych językach (np. o ile się nie mylę Go). W C też miałby sens i pozwoliłby uniknąć dużej liczby błędów (to scanf zwraca liczbę parametrów którą udało się wczytać? :​O ), ale jest to awykonalne ze względu na ogromną bazę kodu która tego nie robi. No i nie wiem jak to widzi komtet standaryzacyjny.

5

Czym się różni interpolacja od aproksymacji?

Ban na ksiażki i wikipedie? o_O
Interpolacja zakłada że tworzysz krzywą przechodzącą przez zadane punkty.
Aproksymacja zakłada że tworzysz krzywą zbliżoną do aproksymowanej krzywej, ale nie musi ona przechodzić przez znane punkty. Przybliżenie sin() przez funkcje liniową będzie aproksymacją.
Ekstrapolacja to zupełnie inna bajka. Ekstrapolacja służy do przewidywania "co sie stanie dalej".

Załozmy że masz dane 10 punktów.

  • interpolacja da ci funkcje która przechodzi przez te 10 punktów
  • aproksymacja da ci funkcje która powinna "wyglądać podobnie" do krzywej z której uzyskaliśmy te 10 punktów
  • ekstrapolacja pozwoli ci przewidzieć gdzie znajazłby się punkt 11 dla zadanego argumentu
0

Bana na szczęście nie mam, ale właśnie taki typ tłumaczenia niektórych zagadnień jest najlepszy. Dzięki, jesteś Wielki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1