Interpolacja Lagrange
Technika obliczeniowa i symulacyjna laboratorium
Wydział : Telekomunikacja i Elektotechnika
Imie i Nazwisko:
· Kamil Biedroń
Kierunek : Telekomunikacja i Elektronika
grupa : 3
Data: 2010-11-30
Ocena:
1 Cel ćwiczenia:
Sporządzenie algorytmu opartego na interpolacji lagrange wyliczającego interpolacje i wyrysowującego funkcję interpolującą dla zadanych danych.
2 Interpolacja dla danych węzłów:
0,000
1,000
2,000
3,000
4,000
5,000
6,000
7,000
8,000
9,000
3 Implementacja:
· Clasa Interpolacja:
public class Interpolacja {
public static double getlagrange(double x, double [] xPoints, double[] yPoints){
double y=0;
int n=xPoints.length;
for(int i=0;i<n;i++){
double wyniki=1;
for(int j=0;j<n;j++){
if(j!=i){
wyniki=wyniki*(x-xPoints[j])/(xPoints[i]-xPoints[j]);
}
y=y+yPoints[i]*wyniki;
return y;
· Clasa publiczna Lagrange:
public class Lagrange {
/**
* @param args
*/
public static void main(String[] args) {
// define your data
double[] xPoints = { 0,1,2,3,4,5,6,7,8,9};
double[] yPoints = { 1,2,3,4,5,5,4,3,4,5 };
Interpolacja.getlagrange(0.5, xPoints, yPoints);
int MAX=9;
int MIN=0;
double dy=0.1;
int n=(int)((MAX-MIN)/dy);
double[] x=new double [n];
double[] y=new double [n];
x[i]=i*dy;
y[i]=Interpolacja.getlagrange(x[i], xPoints, yPoints);
// Tworzenie j panelu do wykresu
Plot2DPanel plot = new Plot2DPanel();
// zdefiniowanie pozycji legendy
plot.addLegend("SOUTH");
// tworzenie legendy
plot.addScatterPlot("Punkty funkcji interpolującej", x, y);
plot.addScatterPlot("Węzły", xPoints, yPoints);
// zintegrowanie wykresu z programem
JFrame frame = new JFrame("a plot panel");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(plot);
frame.setSize(600, 500);
frame.setVisible(true);
...
dzaxx1