- •Индивидуальное задание на производственную практику (научно-исследовательскую работу)
- •Введение
- •Задание 1. Простейшие вычисления в Java
- •Задание 2. Работа с массивами. Векторы-столбцы и векторы-строки
- •Задание 3. Работа с массивами
- •Задание 4. Двумерные массивы и матрицы
- •Задание 5. Блочные матрицы
- •Задание 6. Визуализация матриц и поэлементные операции над ними
- •Задание 7. Графики, диаграммы и гистограммы
- •Задание 8. М-файлы. Численные методы и программирование
- •Задание 9. Программирование. Операторы цикла
- •Задание на выполнение этапа №2. Исследование метода Монте-Карло для вычисления площадей плоских фигур
- •S(n) – полученая площадь методом Монте-Карло
- •Список использованных источников
Задание 3. Работа с массивами
Задание 3.1:
Листинг программы представлен ниже.
import static java.lang.Math.*; public class Main { public static void main(String[] args) { double[] values = {0.1, 0.3, 0.4, 0.7, 1.3, 1.5, 2.2}; for (double x : values) { System.out.println("f(" + x + ") = " + funcY(x)); } } private static double funcY(double x) { return 7 * pow(sin(x), 2) / (1 * tan(x)) - pow(E, 5 * x) * log(x); } }
Результаты вычислений для заданных значений представлены на рисунке 10.
Рисунок 10 – Результаты вычислений
Задание 3.2:
Листинг программы представлен ниже.
import java.util.Arrays; import static java.lang.Math.*; public class Main { public static void main(String[] args) { System.out.println(Arrays.toString(generate(0, 1, 0.2))); System.out.println(Arrays.toString(generate(2, 1, -0.4))); } private static double[] generate(double start, double end, double step) { int length = (int) abs((max(start, end) - min(start, end)) / step) + 1; double[] result = new double[length]; for (int i = 0; i < length; i++, start += step) { result[i] = start; } return result; } }
Результат вычислений представлен на рисунке 11.
Рисунок 11 – Результат вычислений
Задание 3.3
График построен с шагом 0.3 и представлен на рисунке 12.
Рисунок 12 – График
Задание 3.4
График построен с шагом 0.25 и представлен на рисунке 13.
Рисунок 13 – График
Задание 3.5:
Листинг программы, вычисляющей скалярное произведение, длину и векторное произведение векторов представлен ниже.
import static java.lang.Math.pow; import static java.lang.Math.sqrt; public class Main { public static void main(String[] args) { Vector vA = new Vector(8.1, -9.7, 1.6); Vector vB = new Vector(6.1, 7.5, -0.9); System.out.println(vA); System.out.println(vB); System.out.println("(A)Скалярное произведение: " + vA.scalarMult(vB)); System.out.println("(Б)Длина(модуль) вектора A: " + vA.length()); System.out.println("(В)Произведение векторов: " + vA.vectorMult(vB)); } private record Vector(double x, double y, double z) { public double scalarMult(Vector c) { return x * c.x + y * c.y + z * c.z; } public Vector vectorMult(Vector c) { double tmpX = y * c.z - z * c.y; double tmpY = -(x * c.z - z * c.x); double tmpZ = z * c.y - y * c.x; return new Vector(tmpX, tmpY, tmpZ); } public double length() { return sqrt(pow(x, 2) + pow(y, 2) + pow(z, 2)); } @Override public String toString() { return "x = " + x + ", y = " + y + ", z = " + z; } } }
Результат представлен на рисунке 14.
Рисунок 14 – Результаты вычислений
Задание 3.6:
Листинг программы, решающей поставленную задачу, описан ниже.
import static java.lang.Math.pow; import static java.lang.Math.sqrt; public class Main { public static void main(String[] args) { Vector a = new Vector(2.5, 0, 0); Vector b = new Vector(6.5, 5.9, 0); Vector c = new Vector(-1.7, -2.6, 8.5); double v = b.vectorMult(c).scalarMult(a); System.out.println(v); } private record Vector(double x, double y, double z) { public double scalarMult(Vector c) { return x * c.x + y * c.y + z * c.z; } public Vector vectorMult(Vector c) { double tmpX = y * c.z - z * c.y; double tmpY = -(x * c.z - z * c.x); double tmpZ = z * c.y - y * c.x; return new Vector(tmpX, tmpY, tmpZ); } public double length() { return sqrt(pow(x, 2) + pow(y, 2) + pow(z, 2)); } @Override public String toString() { return "x = " + x + ", y = " + y + ", z = " + z; } } }
Результат вычислений зафиксирован на рисунке 15.
Рисунок 15 – Результат вычислений
