Fahrenheit --> Celsius < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 19:02 Mo 29.10.2007 | Autor: | wcente |
Aufgabe | Schreiben sie ein programm das eine in fahrenheit gegebene temperatur F nach der formel C=5/9 (F+40)-40 in celsius umrechnet.
testen sie ihr programm mit den werten 32, 98,6 und 212. |
könnte mir hiermit jemand helfen. bin absoluter anfänger mit mathematica.
|
|
|
|
Hallo,
das Programm müsste aus drei Teilen bestehen:
1. Definition der Funktion
2. Eingabe (ich weiß nicht, wo ihr die F-Werte herbekommen sollt, also machen wir es so)
3. Anwendung der Funktion (und Ausgabe)
1.
Nennen wir die Funktion mal F2C. Dann definiert man die Funktion in der folgenden Form:
F2C[F_] := ...F...;
Wichtig: Es sind eckige Klammern und bei der Definition steht die Argumentvariable auf der linken Seite der Definition mit einem Unterstrich, auf der rechten Seite aber nicht.
Die Formel kannst du selbst mal eintippen.
2.
Die Eingabe können wir mit der Funktion Input vornehmen. Dabei weisen wir einer Variablen den Wert zu, den wir in den enrscheinenden Dialog eingegeben haben. Also z.B.:
F=Input["Geben Sie die Temperatur in °F ein: "];
3.
Die Anwendung ist denkbar einfach:
F2C[F]
Hier lassen wir am Ende das Semikolon weg. Das bewirkt, dass das Ergebnis ausgegeben wird.
Das dürfte reichen, aber im Netz gibt es natürlich zahlreiche Einführungen in Mathematica. Auch die Hilfefunktion des Programms ist nicht zu verachten.
Gruß
Martin
|
|
|
|
|
Hey da sitzt wohl jemand mit mir in der Vorlesung ;) habe die gleiche Aufgabe, und auf die Antwort bin ich bereits von alleine gekommen. Jedoch steht ja dort schreibe ein Programm, is es nicht möglich, dass ich eine *.nb oder eine *.m erstelle bei welcher sofort nach öffnen diese Dialogbox aufkommt und nach der Fahrenheittemperatur fragt?
Bzw in kurz :) ich weiß nicht wirklich wie man das programm aufrufen kann... :(
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 07:08 Do 01.11.2007 | Autor: | Peter_Pein |
Hi jagabongo,
es scheint mir zumindest zwei Personen aus Eurer Vorlesung zu geben, denen die Einfachheit einer interpretierten Programmiersprache wie Mathematica bisher nicht nahe gebracht wurde.
Offenbar erwarten wcente und Du, dass ein Programm nur ein "Dingens" ist, das per Doppelklick gestartet wird, sofort eine eigene Oberfläche auf dem Desktop anzeigt und solange Aus- aus Eingaben produziert und verarbeitet, wie der Benutzer daran Gefallen findet.
Die übliche Programmoberfläche von Mathematica ist das, was Euch vieleicht wie ein Editor vorkommen mag und heißt unter Windows Mathematica.exe unter Linux mathematica.
Dies ist die Schnittstelle, unter der
1.) Programme eingegeben werden
2.) Programme ausgeführt erden
3.) Variablen Werte zugewiesen werden
4.) Werte von Variablen angezeigt werden
5.) Systemeinstellungen vorgenommen werden
6.) die Dinge gemacht werden, die ich hier vergessen habe.
Wenn also beispielsweise eine Funktion f[x_]:=4*x(1-x) eingegeben wurde, gibt es kein Knöpfchen, das man drücken muss, um f[0.4] zu berechnen, sondern es wird brav "f[0.4]" mit anschließendem "Umschalt-neueZeile" bzw. "Enter am Nummernblock" getippt.
Dies soll weniger Kritik an Eurer Erwartungshaltung, als vielmehr an der Vorgehensweise in der Vorlesung/den Übungen sein. Ich würde vorschlagen, dass Ihr mal meckert, weil von Euch verlangt wird, in Mathematica zu programmieren, aber die grundlegendsten Dinge nicht erzählt wurden.
Es handelt sich -- wie bei z.B. einem Basic- oder einem Lisp- Interpreter -- um ein sog. "Read-Eval-Print"-System, das also Eingaben annimmt, sie sofort auswertet und das Ergebnis - sofern vorhanden - ausgibt. Dann beginnt das Spiel von vorne.
Es ist zwar möglich (z.B. mit webMathematica), recht ansprechende Ein- und Ausgabemasken zu erstellen, aber das wäre für Anfänger zu viel des (gar nicht sooo) Guten und würde vom Eigentlichen ablenken, nämlich vom Entwickeln der Programme.
Nochmal: nimm's nicht persönlich, sondern stell z.B. in einer Übungsstunde die Frage, die Du hier gestellt hast; dann sollte der Übungsgruppenleiter eigentlich begreifen, dass Euch unzureichende Informationen gegeben wurden.
Alles Gute & lass Dir den Spaß an Mma nicht versauen,
Peter
|
|
|
|
|
Hallo,
ich stimme meinem Vorredner vollkommen zu, dass man mit Mathematica keine "Programme" in eurem Sinne schreiben sollte, weil es dafür viel bessere Lösungen gibt und Mathematica für andere Probleme gedacht ist, und ich finde auch, dass die Übungsaufgabe entweder schlecht formuliert oder einfach nur ungeeignet ist.
Aaaaber: Es geht trotzdem.
Man kann nämlich jede Cell automatisch auswerten lassen (siehen Cell Inspector). Ich hänge einfach mal ein Notebook und das benötigte M-File an.
Notebook
M-File
Wie man Verknüpfungen erstellt, solltet ihr wissen. Beim Mathematica-Aufruf kann man nämlich den Notebook-Namen direkt übergeben.
Gruß
Martin
Dateianhänge: Anhang Nr. 1 (Typ: nb) [nicht öffentlich] Anhang Nr. 2 (Typ: m) [nicht öffentlich]
|
|
|
|