Anzeige
Archiv - Navigation
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
312to316
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktionen / Übergabe von Feldvariablen

Funktionen / Übergabe von Feldvariablen
24.09.2003 11:51:40
Marcel
Hallo
Wer kann mir helfen. Ich versuche in einer For-Schleife eine Funktion aufzurufen, in der als Argument eine Feldvariable übergeben wird. Ist dies nicht möglich in VBA? Ich bekomme immer sofort eine Fehlermeldung

Muss ich den Zählparameter der For-Schelife als Argument übergeben??
Muss ich b(n), b() in die Parameterliste schreiben?
Ich weiss keinen Rat mehr, kann mir wer helfen ???

Gruss, Marcel

'Iterationsschleife des Newton Verfahrens'
For n = 2 To nmax

'neue Näherungen für Koeffizienten "a" und "b" berechnen'
b(n) = 2
a(n) = F1A(J, b(), n)

Next n
End Sub

'Nach Ende der Hauptprozedur werden die Funktionen definiert'

Function F1A(J, b(), n) As Double
Dim Feld3() As Double, S3 As Double
ReDim Feld3(J)
S3 = 0
For Zähler = 2 To J
Feld3(Zähler) = EFUNKT ^ (-2 * b(n - 1) * (Cells(Zähler, 3) ^ 2))
S3 = S3 + Feld3(Zähler)
Next
F1A = S3
End Function

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktionen / Übergabe von Feldvariablen
24.09.2003 12:30:02
xXx
Hallo,
nach meiner Meinung muss der Aufruf
a(n)=F1A(J,b(n))
heißen.
Die Function könnte dann so lauten: Function F1A(x,y) as double

Gruß
Udo
AW: Funktionen / Übergabe von Feldvariablen
24.09.2003 12:44:14
Hans W. Hofmann
Das kommt vielleicht davon, dass man nicht so richtig weiß,
wo man ansetzen soll.
Zusammensassend über Deine Postings:
1. Felder werden als Variant übergeben
2. Dein Algorithmus ist nach meiner Einschätzung ziemlich durch den Wind,
weil die Felder eigentlich unnötig sind:
b(n)=2 ist statisch wieso also Feld
das gleiche gilt für Feld3
3. und was bitte soll ..* b()* .. darstellen?
4. Was ist EFUNKT?
5. Was ist J?
6. Und als besonders sinnvoll ;-) sehe ich
nmax = 100
If nmax > 100 Then
nmax = 100
End If

Gruß HW
Anzeige
AW: Funktionen / Übergabe von Feldvariablen
24.09.2003 13:02:52
Marcel
Hallo, schönen Dank für eure Antworten

Deine Fragen sind natürlich berechtigt, ich habe alles was ich dachte es sei unwichtig aus dem Code gelöscht damt einer der sich damit befasst sich nicht mit unwichtigen Sachen beschäftigt. Prinzipiell hat also alles seinen Sinn, auch die Abfrage nach nmax, da es sich um ein konvergierendes Verafhren handelt, wo ggf. die Anzahl an Iterationen gestoppt werden muss.

EFUNKT = Konstante
J=Anzahl an Durchläufen der FOR-Schleife, das es auf einen Worksheet zugreift
b(n) = b(n-1)- F1A("Tausend andere Konstanten und Funktionen werden aufgerufen wenn es mal fertig ist und ich weiss ob und wie man Feldvariablen an Funktionen übergibt")

Wenn man eine Funktion mit zu übergebenden Argumenten definiert, also z.B. F1A(J,b) kann ich das wenn b ein Wert ist.
Wenn es eine Feldvariable ist,die bei jedem Durchlauf der Schelife neu berechnet wird

Dim b() As Double
Redim b(1 to nmax)

weiss ich nicht wie die übergeben werden kann, da F1A(J,b()) nicht funktioniert.
Muss es F1A(J,b(n)) heißen? n ist die Zählvariable der For-Schleife


Function F1A(J, b(), n) As Double
Dim Feld3() As Double, S3 As Double
ReDim Feld3(J)
S3 = 0
For Zähler = 2 To J
Feld3(Zähler) = EFUNKT ^ (-2 * b() * (Cells(Zähler, 3) ^ 2))
S3 = S3 + Feld3(Zähler)
Next
F1A = S3
End Function


Gruss, und hoffe jemand hat nochmal Lust drüberzuschauen
Marcel
Anzeige
AW: Funktionen / Übergabe von Feldvariablen
24.09.2003 20:52:34
Hans W. Hofmann
Zum Hauptproblem also nochmal:
Felder werden als Variant übergeben


Sub diesunddas
Dim z(10) as Double
s = F1A(1,z,2)
End Sub



Function F1A(J as ???, b as Variant, n as ???) As Double
'Es bleibt die Frage
'3. und was bitte soll ..* b()* .. darstellen?
'Variablen sauber definieren!
End Function


Welcher Algorithmus soll denn umgesetzt werden? Newton sucht Nulstellen?

Gruß HW
Hauptsatz der Informatik:
Man formuliere einen stabilen, sparsamen und effizenten Algorithmus...
Anzeige

174 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige