Methode zur Faltung einer Funktion

alexschmid97

Aktives Mitglied
Hey,

ich muss an der Uni folgende Aufgabe lösen. sh. Anhang. Ich habe schon lange herumprobiert, aber mir fällt kein Ansatz ein, wie ich diese Aufgabe beginnen kann.
Ich hab schon verstanden, dass das über eine implementierte Methode läuft, aber die einzelnen Schritte verwirren mich ziemlich.
ich hoffe jemand kann mir helfen.

lg Alex

hier schon mal mein kleiner Ansatz.
Code:
public static getLinearlyspacedArray ( double start , double end, double spaced ) {

und danach müsste ich doch jetzt eigentlich die Werte festlegen?
Ich hab dann nur keine Ahnung wie ich ein array erzeugen kann in dem die Indexe bestimmte Abstände haben
 

Anhänge

  • IMG_3970.JPG
    IMG_3970.JPG
    876,9 KB · Aufrufe: 34

redJava99

Bekanntes Mitglied
Die Indizes haben natürlich immer den gleichen Abstand, nämlich 1.
Die Werte im Array sollen den angegebenen Abstand zueinander haben.
Die Anzahl der Werte (= Größe des Arrays) kannst du dir aus den 3 Parametern ebenfalls berechnen. Dann initialisierst du ein entsprechendes Array und füllst es mit den Werten (-> Schleife ;-) )
 

FreakManMega

Mitglied
meine Gedenken:

Die Methode soll aus einem vorhandenem Array von Index start zu Index end jeden spaced Wert in einen Array schreiben.

Bsp:

Ein festgelegtes Array ist gefüllt mit A, B, C, D, E, F, G, H, I.
Jetzt wird die Methode mit start = 2, end = 6 und spaced = 2 aufgerufen.

Ausgegeben wird jetzt ein Array mit folgenden Werten: C, E, G.
--> Denn es wird aus dem vorhandenem Array von Index 2(also C) bis Index 6(also G) jeder 2. Wert ausgegeben.

Ich hoffe ich konnte dir helfen.

mfg FreakManMega
 

alexschmid97

Aktives Mitglied
ja das kann ich mir vorstellen, wie würde ich diese Methode mit den Werten aufrufen. Ist es prinzipiell richtig wie ich die Methode oben angelegt habe ?
 

FreakManMega

Mitglied
Bei Dir fehlt zwischen static und Methodennamen der Rückgabewert.
Da müsste in diesem Fall die Art des Arrays stehen.

Bsp:

Würde ein String-Array zurückgegeben werden, müsste der Methodenkopf so lauten:

Java:
public static String[] getLinearlyspacedArray(double start, double end, double spaced) {}
 

alexschmid97

Aktives Mitglied
also dann ein Datentyp wie double oder int
Code:
public static double [] getLinearlyspacedArray (double start, double end, double spacing) {
 

alexschmid97

Aktives Mitglied
ok und dann initialisier ich die double werte oder ? was ich jetzt noch nicht genau begriffen habe. Mus ich jetzt nochmal separat ein Array erstellen oder ist das schon in der Methode ?
 

FreakManMega

Mitglied
OK, der Methodenkopf stimmt schon mal.
Was genau meinst du mit dem Initialisieren der Doublewerte? Die werden doch beim Methodenaufruf mitgegeben.

Die Methode liest ja die Werte (systematisch), aus einem schon vorhandenem Array, aus. Dieses müsste in der Klasse als Attribut liegen oder vererbt sein.

In einem Array, das du dann in der Methode erstellst und füllst, werden dann die Werte zurückgegeben.

mfg FreakManMega
 

FreakManMega

Mitglied
Also:

Das mit dem Auslesen eines Arrays war völliger quatsch von mir, sorry.
Und die Abstände müssen zwischen den Werten im Array sein und nicht zwischen den Indexes.

Du machst das einfach so:

Du gibst einfach die Doublewerte zwischen start und end mit den Abständen spacing aus.

Bsp:

start = 2; end= 3.5; spaced = 0.5
--> Das heißt in dem Array, das ausgegeben wird, wird 2.0, 2.5, 3.0, 3.5 ausgegeben.
 

FreakManMega

Mitglied
In dieser Methode wird dein errechnetes Array erstmal als return-Wert zurückgegeben.

In der main-Methode kannst du dann zum Testen die Methode aufrufen und dann das Array z.B. in der Console ausgeben.
 

alexschmid97

Aktives Mitglied
hmm meinst du also so :

Code:
public class Convolution {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
       
public static  getLinearlySpacedArray ( double start, double end, double spacing) {
   
    double start= 1;
    double end=3;
    double spacing=0.1;
   
    double [] array= new double [end];

also dass mit der Methode begreif ich noch nicht genau, ist in der Methode schon das array festgelegt, oder nur meine double Variablen die später benutzt werden ?
 

FreakManMega

Mitglied
...naja also:

main-Methode:

Java:
public static void main(String[] args) {
    System.out.print(getLinearlySpacedArray(1, 3, 0.1));
}

Mit System.out.print() wird eine Konsolenausgabe ausgegeben.

getLinearlySpacedArray ( double start, double end, double spacing ):

Java:
public static  getLinearlySpacedArray ( double start, double end, double spacing) {
    double[] ergebnis = new double[/*Die Anzahl der Elemente(musst du berrechnen)*/]
   
    //Füllen des Arrays mit den berrechneten Werten

    return ergebnis;
}

...hoffe, dass es verständlich ist.
 

Neue Themen


Oben