Добавил:
Yanus
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:GridMethod
.java import javax.swing.table.DefaultTableModel;
public abstract class GridMethod {
// Названия колонок таблицы
private static final String[] COLUMN_NAMES = {"X", "Экспериментальное U", "Реальное U"};
// Значения X
private static double X[];
// Значения U, вычисляются посредством предыдущих значений
private static double U[];
// Значения U реальные, вычисляются посредством заданной формулы
private static double Ureal[];
/**
* Метод вычисляет значения массивов значений функции в двух случаях
* @param A
* @param h
* @return Модель таблицы
*/
public static DefaultTableModel getGridValues(double A, double h) {
int numPoints = (int) (1 / h);
X = new double[numPoints];
U = new double[numPoints];
Ureal = new double[numPoints];
Object[][] tableValue = new Object[numPoints][3];
double temp;
for (int j = 0; j < numPoints; j++) {
X[j] = j * h;
if (j == 0) U[j] = 1;
else {
temp = (1 - A * h) * Ureal[j - 1];
U[j] = temp;
}
Ureal[j] = Math.exp(-A * X[j]);
tableValue[j][0] = X[j];
tableValue[j][1] = U[j];
tableValue[j][2] = Ureal[j];
}
DefaultTableModel dataModel = new DefaultTableModel();
for (int col = 0; col < COLUMN_NAMES.length; col++) {
dataModel.addColumn(COLUMN_NAMES[col]);
}
for (int row = 0; row < numPoints; row++) {
dataModel.addRow(tableValue[row]);
}
return dataModel;
}
/**
* @return Значения X
*/
public static double[] getX() {
return X;
}
/**
* @return Значения U вычисленные
*/
public static double[] getU() {
return U;
}
/**
* @return Значения U реальные {exp(-Ax)}
*/
public static double[] getUr() {
return Ureal;
}
}
public abstract class GridMethod {
// Названия колонок таблицы
private static final String[] COLUMN_NAMES = {"X", "Экспериментальное U", "Реальное U"};
// Значения X
private static double X[];
// Значения U, вычисляются посредством предыдущих значений
private static double U[];
// Значения U реальные, вычисляются посредством заданной формулы
private static double Ureal[];
/**
* Метод вычисляет значения массивов значений функции в двух случаях
* @param A
* @param h
* @return Модель таблицы
*/
public static DefaultTableModel getGridValues(double A, double h) {
int numPoints = (int) (1 / h);
X = new double[numPoints];
U = new double[numPoints];
Ureal = new double[numPoints];
Object[][] tableValue = new Object[numPoints][3];
double temp;
for (int j = 0; j < numPoints; j++) {
X[j] = j * h;
if (j == 0) U[j] = 1;
else {
temp = (1 - A * h) * Ureal[j - 1];
U[j] = temp;
}
Ureal[j] = Math.exp(-A * X[j]);
tableValue[j][0] = X[j];
tableValue[j][1] = U[j];
tableValue[j][2] = Ureal[j];
}
DefaultTableModel dataModel = new DefaultTableModel();
for (int col = 0; col < COLUMN_NAMES.length; col++) {
dataModel.addColumn(COLUMN_NAMES[col]);
}
for (int row = 0; row < numPoints; row++) {
dataModel.addRow(tableValue[row]);
}
return dataModel;
}
/**
* @return Значения X
*/
public static double[] getX() {
return X;
}
/**
* @return Значения U вычисленные
*/
public static double[] getU() {
return U;
}
/**
* @return Значения U реальные {exp(-Ax)}
*/
public static double[] getUr() {
return Ureal;
}
}
Соседние файлы в предмете Модели и методы анализа проектных решений