Das Archiv des Excel-Forums

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 download Handhabung von Arrays in benutzerdefininierten Funktionen download
Variablen auf mehrere Arten in Funktionen integrieren download Eine Zusammenstellung von Matrix-Funktionen download