Wzór interpolacyjny Lagrange'a

0

Witam. Piszę program, który ma wyznaczyć wzór za pomocą interpolacji Lagrange'a. Mam podane punkty x i y i mam wyznaczyć z tego wzór. Jednak mam problem jak zrealizować mnożenie jeśli mam takie coś: (x-2)(x+1)(x+4) jak mnożyć x z liczbami i x z x żeby było x do kwadratu itp? Preferowany język to java, ale jeśli ktoś wie jak to zrealizować w jakimś innym to również proszę o pomoc.

1

Za pomocą gwiazdki.

0

@olek1:
(a+b)(c+d)=(a+b)*(c+d)
I w takiej formie to już kompilator "przełknie" :P

0

Chyba się do końca nie zrozumieliśmy. Nie chodzi mi o zwykłe mnożenie.;d
Ja chcę w wyniku uzyskać coś takiego np: 4x3 + 6x2 - 6x + 10.

0

To nadal jest zwykłe mnożenie:

4*x*x*x+6*x*x-6*x+10

Możesz skorzystać z funkcji pow:

4*Math.pow(x,3)+6*Math.pow(x,2)-6*x+10
0

My się nadal nie rozumiemy. Mi chodzi o to, żeby zmiennej x nie inicjalizować, żeby x pozostał x i jak mnoże np tak: (x-6)(x+3) to w wyniku otrzymać x^2 - 3x - 18 a nie jak wymusza to kompilator zainicjalizować x i otrzymać normalną liczbę. W wyniku chce otrzymać wielomian.

0

Chodzi Ci o Przekształcenia symboliczne? Napisz sam odpowiedni fragment kodu, albo skorzystaj z programu, który to potrafi (np. Maxima).

0
olek1 napisał(a):

My się nadal nie rozumiemy. Mi chodzi o to, żeby zmiennej x nie inicjalizować, żeby x pozostał x i jak mnoże np tak: (x-6)(x+3) to w wyniku otrzymać x^2 - 3x - 18 a nie jak wymusza to kompilator zainicjalizować x i otrzymać normalną liczbę. W wyniku chce otrzymać wielomian.

Jakiego 'typu' chcesz mieć wynik? Musisz stworzyć własną klasę do tego reprezentującą wielomian i napisać dla niej odpowiednie operacje.
Wielomian możesz reprezentować za pomocą tablicy (wielkości stopnia wielomianu + 1) wypełnionej współczynnikami - czyli np. x^2 * 3 + x * -2 + 8 reprezentujesz jako tablica [3, -2, 8].

Samo mnożenie wielomianów jest proste, działasz dokładnie tak jak mnożąc liczby na kartce.

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