Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.util.LinkedList;
  4. import java.util.List;
  5.  
  6. public class Main {
  7.  
  8. public static void main(String[] args) {
  9.  
  10. float[] x = {1, 2, 4};
  11. float[] y = {2, 3, 4};
  12.  
  13. List<Float> wspol = lagrangeInterpolation(x, y, 1);
  14. String wynik = "";
  15. for (int i = 0; i < wspol.size(); i++) {
  16.  
  17. if (i != 0 && wspol.get(i) > 0) {
  18.  
  19. if (i == wspol.size() - 2) {
  20. wynik = wynik + "+" + wspol.get(i) + "x";
  21. continue;
  22. }
  23.  
  24. if (i == wspol.size() - 1) {
  25. wynik = wynik + "+" + wspol.get(i);
  26. continue;
  27. }
  28.  
  29. wynik = wynik + "+" + wspol.get(i) + "x" + "^" + (wspol.size() - 1 - i);
  30.  
  31. }
  32.  
  33. if (i == wspol.size() - 2) {
  34. wynik = wynik + wspol.get(i) + "x";
  35. continue;
  36. }
  37.  
  38. if (i == wspol.size() - 1) {
  39. wynik = wynik + wspol.get(i);
  40. continue;
  41. }
  42.  
  43. wynik = wynik + wspol.get(i) + "x" + "^" + (wspol.size() - 1 - i);
  44.  
  45.  
  46. }
  47.  
  48. System.out.println(wynik);
  49.  
  50. }
  51.  
  52. public static List<Float> lagrangeInterpolation(float[] xs, float[] ys, float x) {
  53. float t;
  54. float y = 0;
  55. float t2;
  56. List<Float> wspolczynniki = new LinkedList<>();
  57. for (int k = 0; k < xs.length; k++) {
  58. t = 1;
  59. t2 = 1;
  60. for (int j = 0; j < xs.length; j++) {
  61. if (j != k) {
  62.  
  63. t = (float) (t * ((x - xs[j]) / (xs[k] - xs[j])));
  64. t2 = (float) (t2 * ((xs[j]) / (xs[k] - xs[j])));
  65. }
  66. }
  67. wspolczynniki.add(t2);
  68.  
  69.  
  70. y += t * ys[k];
  71. }
  72.  
  73. return wspolczynniki;
  74. }
  75.  
  76.  
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement