Herbers Excel-Forum - das Archiv

Skuriles Verhalten beim Plotten von Funktionen

Bild

Betrifft: Skuriles Verhalten beim Plotten von Funktionen
von: Florian
Geschrieben am: 12.10.2003 20:56:00
Hallo liebe Leute,

Folgende Methode soll testweise x und y-Arrays erstellen
und danach plotten.

Vielleicht mache ich da ja was grundlegend, falsch, aber merkwürdigerweise
ist Excel sehr anspruchsvoll darin, welche Art von Arrays den Variablen

SeriesCollection(*).*Values

gegeben werden dürfen.

In untenstehendem Code erzeuge ich die Werte

x = (0.1,...,10)

und y = sin(x)

Wenn dass z.B. "naiv" für Arrays der Länge 15 macht, klappt das nicht
(Fehlermeldung: "Values-Eigenschaft ... kann nicht festgelegt werden"), bei
der Länge 10 verkraftet Excel es noch. Bei der Funktion *^2 gibt's auch
keine Probleme.

Woran liegt's?

Was tun???

Danke!

Beste Grüße, Florian



Sub wasGehtdennHierab()
Dim n As Integer, str As String
str = ActiveSheet.Name
n = 20
Dim x() As Double, y() As Double
ReDim x(1 To n)
ReDim y(1 To n)
Dim i As Integer
For i = 1 To n
x(i) = i / 10
y(i) = Sin(x(i))
' bei Auskommentieren der nächsten Zeile klappt's nicht mehr...
y(i) = Round(y(i), 4)
Debug.Print (y(i))
Next i
' chart...
Dim ch As Chart
Set ch = Charts.Add
ch.ChartType = xlXYScatter
ch.SeriesCollection.NewSeries
ch.SeriesCollection(1).XValues = x
ch.SeriesCollection(1).Values = y
ch.Location Where:=xlLocationAsObject, Name:=str
End Sub


Bild

Betrifft: AW: Skuriles Verhalten beim Plotten von Funktionen
von: RAnton
Geschrieben am: 12.10.2003 22:57:30
Hallo Florian,

versuchs mal damit:

WorksheetFunction.Round(y(i), 4)

Gruß
RAnton
Bild

Betrifft: AW: Skuriles Verhalten beim Plotten von Funktionen
von: Florian
Geschrieben am: 13.10.2003 14:08:18
Hallo!

Die Antwort verstehe ich nicht ganz. Mein Problem besteht *nicht*
darin, dass ich Zahlen runden möchte. Oder habe ich die
Antwort nicht kapiert?

Gruß, Florian
Bild

Betrifft: AW: Skuriles Verhalten beim Plotten von Funktionen
von: RAnton
Geschrieben am: 14.10.2003 09:22:53
Hallo Florian,

die Funtion Round(..), so wie du sie hingeschrieben hast existiert in Office97 nicht.
Daher die Ersetzung durch WorksheetFunction.Round()

Gruß
RAnton
 Bild
Excel-Beispiele zum Thema " Skuriles Verhalten beim Plotten von Funktionen"
Alle Prozeduren und Funktionen auflisten Handhabung von Arrays in benutzerdefininierten Funktionen
Variablen auf mehrere Arten in Funktionen integrieren Eine Zusammenstellung von Matrix-Funktionen