Нахождение значений функции в промежуточных точках

Java   7 января 2012  Автор статьи:  

Нужно реализовать метод нахождение значений функции в промежуточных точках путем построения кусочно-линейной интерполянты. Данный метод принимает на вход множество точек и значения функции в данных точках. После выполнения программы мы получаем множество промежуточных точек и значение функции в данных точках.

Входные данные:
3

Vvesti x

1 2 3

Vvesti f(x)

1 2 4

Выходные данные:
1.0 1.0

1.5 1.5

2.0 2.0

2.5 3.0

3.0 4.0

Реализация решения

[cc lang=»java» lines=»-1″]
import java.util.*;

public class Solution {

public static void main(String[] args) {
System.out.println(«Vvesti kol-vo chisel»);
Scanner in = new Scanner(System.in);
int n = in.nextInt();
System.out.println(«Vvesti x»);
double x[] = new double[n];
double fx[] = new double[n];
for (int i = 0; i < n; i++) { x[i] = in.nextDouble(); } System.out.println("Vvesti f(x)"); for (int i = 0; i < n; i++) { fx[i] = in.nextDouble(); } int d = 2;//koeficent delenie Splayn splayn=new Splayn(); splayn.BuildSpline(x,fx,n); for (int i = 0; i < n - 1; i++) { double x1 = x[i]; double x2 = x[i + 1]; double y1 = fx[i]; double y2 = fx[i + 1]; double tempx = (x1 + x2) / d; double tempy = (y1 + y2) / d; System.out.println(x1 + " " + y1); System.out.println(tempx + " " + tempy); if (i == n - 2) System.out.println(x2 + " " + y2); } } } [/cc]

Научиться программировать

  • на Delphi

  • на Java

  • на C++