Frage von JamesCallon, 111

Excel Verstellbare Sinuskurve?

Hallo Zusammen.

Ich muss von der Schule aus eine Excel Tabelle mit verstellbaren Werten machen, welche eine Sinuskurve somit auch beeinflusst. Also die verstellten Werte, verstellen auch die Sinuskurve.

Hat jemand eine Ahnung/Idee wie ich es schaffe eine solche Verküpfung zu machen zwischen Tabelle und Kurve.

Danke euch vielmal

Gruss James

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von MeikelZW, 72

Hallo JamesCallon,
habe mich von »PWolff« inspirieren lassen (Danke!) und das mal mit Winkel, Frequenz und Amplitude (also Deluxe) selbst probiert. Allerdings ohne VBA (manche Virenfilter reagieren da murrisch drauf und das ewige Gefrage wegen der Makros, ob die aktiviert werden sollen, geht auch auf die Nerven). Ich bin zwar Makro Fan, sehe aber zu, dass ich sie nur als Add-Ins verwende. Dann fragt auch keine Nervensäge nach Makros ;-) 

Ich habe das mit starren Skalierungen und Spinbuttons gelöst. So sieht man so zu sagen "Live" beim Auf- und Abklicken die Änderungen im verlauf der Sinuskurve (siehe Bild). Habe nichts geperrt, so dass Du alles nachvollziehen kannst. Alles als XLS gespeichert, so dass es für alle Excel Versionen bearbeitbar ist. Nur die Gretchenfrage, wie bringe ich das halbwegs ananoym auf Deine Blechkiste?

Bei Interesse lege ich das auf einen meiner Server und gebe Dir als Kommentar die Download Adresse (seriös makrofrei und Virengeprüft).

Gruß MeikelZW

Kommentar von JamesCallon ,

Hallo MeikelZW 

Danke viel mal für deine Antwort. Es wäre toll wenn du mir es aushändigen könntest. Das mit dem Download wäre vielleicht die beste Option die besteht. Wie du sagtest wäre es super wenn sie nicht Schreibgeschützt ist und ich sie noch einmal studieren kann, damit ich es verstehe falls es mal geprüft wird in der Schule. 

Gruss James

Kommentar von MeikelZW ,

OK, dann mache ich das Schätzchen "reisefertig". Weiß nur nicht, ob ich es heute noch schaffe - morgen bestimmt. Ich schreibe dann HIER noch mal einen Kommentar mit dem Download Link.

Gruss MeikelZW

Kommentar von JamesCallon ,

Super. Danke viel mal. Es wäre von Vorteil wenn es heute vor 13.00 download bereit wäre. Will dir aber keinen Stress machen, also nimm dir deine Zeit. Danke dir vielmal für die ganze Mühe die du dir gemacht hast.

Kommentar von MeikelZW ,

So, geschafft! Musste das Schätzchen noch "säubern" und einigermaßen "schön" machen. Hier der ersehnt Link:

http://www.hatmeinarztsprechzeit.info/DoLo/Variable_Sinus-Welle.zip

Wenn Du Angst vor Fangfragen über die Funktion im Einzelnen hast, weil Du evtl. die Vorgehensweise nicht nachvollziehen kannst, dann mach Dich fit indem Du mich fragst! Erst mal selber grübeln und wenn das nix bringt, mich anpingen. In der größten Not mach 'ne Freunschaftsanfrage, dann können wir PNen austauschen. Das kann man ja bei Nichtgebrauch wieder löschen ;-)

Wenn Du das Teil gut findest, belohne mich mit der "nützlichsten Antwort". Ist ja der einzige Lohn hier ;-D

Gruß MeikelZW

Kommentar von JamesCallon ,

Oh ganz toll. Super danke dir viel mal. Die hilfreichste Antwort hast du dir natürlich verdient :D 

Ich habe die Datei gerade geöffnet und verstehe sie gut genug. Danke dir nochmal :)

Kommentar von MeikelZW ,

Moin James,
es geht darum, das ich meist unkonventionell programmiere. So auch hier. Die Spinbuttons des Diagramms gehen ohne VBA eigentlich gar nicht. Dazu mißbrauche ich die Formularfunktionen.

Die Formatierung der automatischen Textlabels neben in de Buttonreihe des Diagramms verhalten sich je nach Excel Version beschissen. Die Ursprungsformate (fett, große Schrift für Präsentation) können (ab XL2007?) "vergessen" werden: dazu vor der Vorführung die Textfelder (6 an der Zahl) einfach jeweils einzeln anklicken und in der Bearbeitungsleiste hinter den Bezug klicken, so dass der Cursor dort blinkt und anach auf Enter oder CR. Dann werden sie wieder fett und somit für Publikum der Präsentation lesbar. Man könnte es auch per Makro lösen (damit habe ich auch über 20Jahre Erfahrung). Lohnt sich aber nicht - nur für eine Sache die Anfangsnerverei wegen der Makros ausstehen.

Danke fü die Bewertung!

Gruß MeikelZW

Expertenantwort
von PWolff, Community-Experte für Mathematik, 53

Mein Vorschlag:

Zelle A1:" Amplitude"
Zelle A2: "Frequenz / 0,1"
Zelle A3: "Phase"

Zelle B1: Name "Amplitude" (Zelle anwählen, links oben im Feld, wo die Zelle ausgewählt wird, den Text "B1" durch "Amplitude" überschreiben)
Zelle B2: Name "Frequenz10"
Zelle B3: Name "Phase"; Format "0°"

Zelle A5: "t"        Zelle B5: "f(t) = A sin (ω t - φ)"

Zelle A6: 0          Zelle B6: =Amplitude*SIN(Frequenz10/10*A6-Phase*Pi()/180)

Zellen A6 bis B6 markieren und hinunterziehen bis ca. Zeile 550

Zellen A5 bis zur letzten Zelle markieren (Zelle A5 markieren und Strg+Umschalt+Ende)

Diagramm-Assistent anklicken

Diagrammtyp Punkt (X,Y); Untertyp: Linien ohne Datenpunkte oder interpolierte Linien ohne Datenpunkte

Formatierung: Legende ausblenden oder nach oben oder unten setzen (wo sie am wenigsten im Weg ist)

Diagramm als Objekt in die Tabelle einbetten

Diagramm vergrößern die Zeilen 1 bis 3 und/oder die Spalten A-B sollten frei bleiben)

Zusätzlich:

Diagramm so verschieben / vergößern / verkleinern, dass Zeilen 1-3 und/oder Spalten A-C frei bleiben

Entwicklertools einblenden (falls nicht schon geschehen)

3 Spinbuttons oder NumericUpDowns oder ScrollBars einfügen und über die Zellen C1, C2, C3 legen

Eigenschaften für SpinButton1 (für NumericUpDown / ScrollBar entsprechend):
LinkedCell = Amplitude
Max = 100
Min = 0

SpinButton2:
LinkedCell = Frequenz10
Max = 200
Min = 1

SpinButton3:
LinkedCell = Phase
Max=360
Min=-10
SmallChange=10

Im Ereignishandler von SpinButton3.Change (erreichbar über Doppelklick auf das Element im Entwurfsmodus):

Private Sub SpinButton3_Change
If SpinButton3.Value < 0 Then SpinButton3.Value = SpinButton3.Value + 360
If SpinButton3.Value >= 360 Then SpinButton3.Value = SpinButton3.Value - 36
End Sub

Wenn man die linke Maustaste auf einem der Pfeile gedrückt hält, sieht man im Diagramm sehr schön die zugehörigen Änderungen

Antwort
von PeterKremsner, 42

Du machst eine Wertetabelle deines Sinus und diese Stellst du in einer Grafik dar.

Wenn du jetzt in die Wertetabelle nicht nur Werte Reinschreibst sondern:

=SIN(w*t+phi) und w (Kreisfreqeunz) und Phi (Phasenverschiebung) als fixen Tabellenbezug angibst kannst du die Frequenz und Phase mit diesen Werten ändern.

Die Variable t ist übrigens nur deine Laufvariable, bzw in der Grafik die Werte für die x Achse.

Antwort
von MeikelZW, 44

Hallo JamesCallon,
Du meinst sicher so was wie auf dem angehängten Bild. Jetzt ist nur noch die Frage, in welcher Richtung Du die Kurve von außen beeinflussen willst: Amplitude (y) oder Frequenz (Periodendauer, x) oder beides?

Soll(en) sich der(die) Button(s) zur Änderung auf dem Diagramm oder in der Tabelle befinden?

Fragen, ohne die keine fertige Lösung machbar ist.

Kommentiere bitte meine Antwort, damit ich Dir letzlich eine nützliche Antwort geben kann!

Gruß MeikelZW

Kommentar von JamesCallon ,

Damit es nicht umbeantwortet bleibt wollte ich noch festhalten, dass ich beide Werte brauche. Also frequenz und amplitude. Ausserdem müsste man es bei der grafik verstellen können.

Gruss James

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten