# Methode zur Faltung einer Funktion



## alexschmid97 (9. Nov 2015)

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.

```
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


----------



## redJava99 (9. Nov 2015)

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 (9. Nov 2015)

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 (9. Nov 2015)

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 (9. Nov 2015)

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:


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


----------



## alexschmid97 (9. Nov 2015)

also dann ein Datentyp wie double oder int 
	
	
	
	





```
public static double [] getLinearlyspacedArray (double start, double end, double spacing) {
```


----------



## alexschmid97 (9. Nov 2015)

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 ?


----------



## alexschmid97 (9. Nov 2015)

also dann nur 

```
double [] array = new double (intxx);
```
und dann die schleife


----------



## FreakManMega (10. Nov 2015)

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


----------



## alexschmid97 (10. Nov 2015)

hier nochmal die ganze pdf. Auf Seite 7 beginnt die Aufgabe


----------



## alexschmid97 (10. Nov 2015)

ok ja das mit der Methode habe ich verstanden. Nur wie kriege ich das hin, dass die Werte in meinem Array immer den gleichen Abstand haben ?


----------



## FreakManMega (10. Nov 2015)

Meinst du in dem Array, das dann von der Methode zurückgegeben wird?


----------



## alexschmid97 (10. Nov 2015)

ja genau


----------



## FreakManMega (10. Nov 2015)

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.


----------



## alexschmid97 (10. Nov 2015)

ahh ok, eigentlich ja ziemlich einfach, die Ausgabe muss ich die dann in die main Methode schreiben oder noch in meine array Methode ?


----------



## FreakManMega (10. Nov 2015)

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 (10. Nov 2015)

hmm meinst du also so :


```
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 (10. Nov 2015)

...naja also:

main-Methode:


```
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 ):


```
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.


----------



## alexschmid97 (10. Nov 2015)

ja doch, vielen Dank für die Antworten


----------



## FreakManMega (11. Nov 2015)

mein erstes gelöstes Problem


----------

