From 9a1b15197b06f3796caa47f403e87769f720d02f Mon Sep 17 00:00:00 2001 From: david <david.carballo-iglesias@etu.hes.ge> Date: Thu, 17 Oct 2019 10:32:38 -0400 Subject: [PATCH] ajout de la fonction norm --- src/main/java/ch/hepia/numeric/Vector.java | 15 ++++++++++++++- src/test/java/ch/hepia/numeric/AppTest.java | 14 ++++++++------ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/main/java/ch/hepia/numeric/Vector.java b/src/main/java/ch/hepia/numeric/Vector.java index 9d6fc88..684766e 100644 --- a/src/main/java/ch/hepia/numeric/Vector.java +++ b/src/main/java/ch/hepia/numeric/Vector.java @@ -78,7 +78,18 @@ final public class Vector { } public double norm() { - throw new UnsupportedOperationException("This feature isn't implemented yet"); + //throw new UnsupportedOperationException("This feature isn't implemented yet"); + double norme=0; + double power=0; + + for(int i=0;i<this.lstVector.size();i++)//a ameliorer avec for(e:element) + { + power=power +(this.lstVector.get(i)*this.lstVector.get(i)); + } + norme=Math.sqrt(power); + + return norme; + } public Vector sliceFrom(int i) { @@ -159,11 +170,13 @@ final public class Vector { } public static Vector sum(List<Vector> vs) { + throw new UnsupportedOperationException("This feature isn't implemented yet"); } public static double norms(List<Vector> vs) { throw new UnsupportedOperationException("This feature isn't implemented yet"); + } diff --git a/src/test/java/ch/hepia/numeric/AppTest.java b/src/test/java/ch/hepia/numeric/AppTest.java index 05a121e..f8326ae 100644 --- a/src/test/java/ch/hepia/numeric/AppTest.java +++ b/src/test/java/ch/hepia/numeric/AppTest.java @@ -41,16 +41,18 @@ class VectorTest { assertEquals(Vector.linespace(0.0, 1.0, 3), Vector.of(0.0, 0.5, 1.0)); assertEquals(Vector.linespace(0.0, 1.0, 5), Vector.of(0.0, 0.25, 0.5, 0.75, 1.0)); } + */ @Test void vectorNormAndSum() { assertEquals(Vector.of(1.0, 2.0, 2.0).norm(), 3.0); - assertEquals(Vector.sum(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))).norm(), 3.0); - assertEquals( - Vector.sum(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))).norm(), - Vector.norms(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))) - ); - assertEquals(Vector.sum(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))), Vector.of(1.0, 2.0, 2.0)); + //assertEquals(Vector.sum(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))).norm(), 3.0); + //assertEquals( + // Vector.sum(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))).norm(), + // Vector.norms(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))) + // ); + // assertEquals(Vector.sum(List.of(Vector.of(1.0, 2.0, 1.0), Vector.of(0.0, 0.0, 1.0))), Vector.of(1.0, 2.0, 2.0)); } + /* @Test void vectorTranspose() { Vector v1 = Vector.of(1.0, 2.0, 3.0); -- GitLab