-
Notifications
You must be signed in to change notification settings - Fork 0
/
AverageVector.java
115 lines (102 loc) · 2.35 KB
/
AverageVector.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package application;
import java.io.Serializable;
// class for matrix operations
public class AverageVector implements Serializable {
private static final long serialVersionUID = 1L;
private double[][] average;
public AverageVector()
{
}
public AverageVector(int size)
{
average = new double[size][size];
for (int i = 0; i < size; ++i)
{
for (int j = 0; j < size; ++j)
{
average[i][j] = 0.0;
}
}
}
public AverageVector(AverageVector another)
{
average = new double[another.getArr().length][another.getArr()[0].length];
for (int i = 0; i < another.getArr().length; ++i)
{
for (int j = 0; j < another.getArr()[0].length; ++j)
{
average[i][j] = another.getArr()[i][j];
}
}
}
public double[][] getArr()
{
return average;
}
public AverageVector divide(int num)
{
AverageVector result = new AverageVector(this.average.length);
for (int i = 0; i < average.length; ++i)
{
for (int j = 0; j < average[0].length; ++j)
{
result.average[i][j] = average[i][j] / num;
}
}
return result;
}
public AverageVector plus(int[][] vec) {
AverageVector result = new AverageVector(this.average.length);
for (int i = 0; i < average.length; ++i)
{
for (int j = 0; j < average[0].length; ++j)
{
result.average[i][j] = average[i][j] + vec[i][j];
}
}
return result;
}
public double distance(int[][] another)
{
double value = 0;
for (int i = 0; i < average.length; ++i)
{
for (int j = 0; j < average[0].length; ++j)
{
value += Math.abs(average[i][j] - another[i][j]);
}
}
return value;
}
public AverageVector add(int num) {
AverageVector result = new AverageVector(this.average.length);
for (int i = 0; i < average.length; ++i) {
for (int j = 0; j < average[0].length; ++j) {
result.average[i][j] = average[i][j] + num;
}
}
return result;
}
public AverageVector floor() {
AverageVector result = new AverageVector(this.average.length);
for (int i = 0; i < average.length; ++i) {
for (int j = 0; j < average[0].length; ++j) {
result.average[i][j] = Math.floor(average[i][j]);
}
}
return result;
}
public String toString()
{
String output = "";
for (int i = 0; i < average.length; ++i)
{
for (int j = 0; j < average[0].length; ++j)
{
output += average[i][j] + " ";
}
output += '\n';
}
return output;
}
}