/**来自 n o w j a v a . c o m - 时代Java**/
//package com.nowjava;
public class Main {
public static void main(String[] argv) throws Exception {
double[] a = new double[] { 34.45, 35.45, 36.67, 37.78, 37.0000,
37.1234, 67.2344, 68.34534, 69.87700 };
int[] b = new int[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 };
System.out.println(java.util.Arrays.toString(multiplyElementwise(a,
b)));
}
/**
* Multiplies an array of doubles and an array of integers element-wise.
*
* @param a Array of doubles.
* @param b Array of integers.
* @return Element-wise product of the arrays.
* @throws ArithmeticException Throws an exception when the two vectors are
* not of the same size.
*//*时 代 J a v a 公 众 号 提供*/
public static double[] multiplyElementwise(double[] a, int[] b)
throws ArithmeticException {
if (a.length != b.length) {
throw new ArithmeticException();
} else {
double[] result = new double[a.length];
for (int i = 0; i < a.length; i++) {
result[i] = a[i] * b[i];
}
return result;
}
}
/**
* Multiplies two arrays of doubles element-wise.
*
* @param a Array of doubles.
* @param b Array of doubles.
* @return Element-wise product of the two arrays.
* @throws ArithmeticException Throws an exception when the two vectors are
* not of the same size.
*/
public static double[] multiplyElementwise(double[] a, double[] b)
throws ArithmeticException {
if (a.length != b.length) {
throw new ArithmeticException();
} else {
double[] result = new double[a.length];
for (int i = 0; i < a.length; i++) {
result[i] = a[i] * b[i];
}
return result;
}
}
/**
* Multiplies two arrays of integers element-wise.
*
* @param a Array of integers.
* @param b Array of integers.
* @return Element-wise product of the two arrays.
* @throws ArithmeticException Throws an exception when the two vectors are
* not of the same size.
*/
public static int[] multiplyElementwise(int[] a, int[] b)
throws ArithmeticException {
if (a.length != b.length) {
throw new ArithmeticException();
} else {
int[] result = new int[a.length];
for (int i = 0; i < a.length; i++) {
result[i] = a[i] * b[i];
}
return result;
}
}
/**
* Multiplies two arrays of floats element-wise.
*
* @param a Array of floats.
* @param b Array of floats.
* @return Element-wise product of the two arrays.
* @throws ArithmeticException Throws an exception when the two vectors are
* not of the same size.
*/
public static float[] multiplyElementwise(float[] a, float[] b)
throws ArithmeticException {
if (a.length != b.length) {
throw new ArithmeticException();
} else {
float[] result = new float[a.length];
for (int i = 0; i < a.length; i++) {
result[i] = a[i] * b[i];
}
return result;
}
}
/**
* Multiplies two arrays of longs element-wise.
*
* @param a Array of longs.
* @param b Array of longs.
* @return Element-wise product of the two arrays.
* @throws ArithmeticException Throws an exception when the two vectors are
* not of the same size.
*/
public static long[] multiplyElementwise(long[] a, long[] b)
throws ArithmeticException {
if (a.length != b.length) {
throw new ArithmeticException();
} else {
long[] result = new long[a.length];
for (int i = 0; i < a.length; i++) {
result[i] = a[i] * b[i];
}
return result;
}
}
/**
* Multiplies two arrays of bytes element-wise.
*
* @param a Array of bytes.
* @param b Array of bytes.
* @return Element-wise product of the two arrays.
* @throws ArithmeticException Throws an exception when the two vectors are
* not of the same size.
*/
public static byte[] multiplyElementwise(byte[] a, byte[] b)
throws ArithmeticException {
if (a.length != b.length) {
throw new ArithmeticException();
} else {
byte[] result = new byte[a.length];
for (int i = 0; i < a.length; i++) {
result[i] = (byte) (a[i] * b[i]);
}
return result;
}
}
/**
* Multiplies two matrices of doubles element-wise.
*
* @param a Matrix of doubles.
* @param b Matrix of doubles.
* @return Element-wise product of the two matrices.
* @throws ArithmeticException Throws an exception when the two matrices are
* not of the same size.
*/
public static double[][] multiplyElementwise(double[][] a, double[][] b)
throws ArithmeticException {
if (a.length != b.length || a[0].length != b[0].length) {
throw new ArithmeticException();
} else {
double[][] result = new double[a.length][a[0].length];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[0].length; j++) {
result[i][j] = a[i][j] * b[i][j];
}
}
return result;
}
}
/**
* Multiplies two matrices of integers element-wise.
*
* @param a Matrix of integers.
* @param b Matrix of integers.
* @return Element-wise product of the two matrices.
* @throws ArithmeticException Throws an exception when the two matrices are
* not of the same size.
*/
public static int[][] multiplyElementwise(int[][] a, int[][] b)
throws ArithmeticException {
if (a.length != b.length || a[0].length != b[0].length) {
throw new ArithmeticException();
} else {
int[][] result = new int[a.length][a[0].length];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[0].length; j++) {
result[i][j] = a[i][j] * b[i][j];
}
}
return result;
}
}
/**
* Multiplies two matrices of floats element-wise.
*
* @param a Matrix of floats.
* @param b Matrix of floats.
* @return Element-wise product of the two matrices.
* @throws ArithmeticException Throws an exception when the two matrices are
* not of the same size.
*/
public static float[][] multiplyElementwise(float[][] a, float[][] b)
throws ArithmeticException {
if (a.length != b.length || a[0].length != b[0].length) {
throw new ArithmeticException();
} else {
float[][] result = new float[a.length][a[0].length];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[0].length; j++) {
result[i][j] = a[i][j] * b[i][j];
}
}
return result;
}
}
/**
* Multiplies two matrices of longs element-wise.
*
* @param a Matrix of longs.
* @param b Matrix of longs.
* @return Element-wise product of the two matrices.
* @throws ArithmeticException Throws an exception when the two matrices are
* not of the same size.
*/
/**代码未完, 请加载全部代码(NowJava.com).**/
本文系作者在时代Java发表,未经许可,不得转载。如有侵权,请联系nowjava@qq.com删除。