|
Autor |
automatische Abfrage auf Zahl oder Formel |
|
Mondschimmer
Ehemals Aktiv  Dabei seit: 27.12.2019 Mitteilungen: 52
 | Themenstart: 2020-10-12
|
Grüßt euch =),
Als Einstiegs-Programmieraufgabe möchte ich eine Kurvendiskussion in Matlab programmieren.
Also Matlab soll eine beliebige Funktion zweimal Ableiten, die Nullstellen
der ersten und zweiten Ableitung berechnen und dann die Extrema im Textformat als Hoch, Tief , Wendepunkte ausgeben. Soweit funktioniert da auch schon ganz gut, jetzt zur Frage:
Wenn der Fall eintritt das die zweite Ableitung nur noch eine Konstante ist
soll Matlab dies Prüfen und dann in einer if schleife Vergleichen ob die Zahl größer oder kleiner als 0 ist und dann im Textfomat ausgeben Funktion hat nur einen Hoch oder Tiefpunkt.
Für den ersten Teil der Abfrage habe ich hier aus dem Forum diese Abfrage übernommen das funktioniert jedoch nur per manueller Eingabe, also der ersten codezeile.
\sourceon matlab
[s,tf]=str2num('2+x')
if tf==1
fprintf('Txt')
else fprintf('Txt')
end
\sourceoff
Matlab soll jetzt jedoch für
\sourceon matlab
'2+x'
\sourceoff
automatisch die zweite Ableitung der Funktion einsetzten. Ich habe probiert einfach eine variable für str bei str2num(str) einzusetzen
jedcoh kommt dann immer die Fehlermeldung "input must be a charakter or string"
Wie kann das gelöst werden das in die Abfrage str2(clr) für clr automatisch ein Wert zugewiesen wird?
Ich sende euch freundliche Grüße
Jan
|
Profil
|
Kitaktus
Senior  Dabei seit: 11.09.2008 Mitteilungen: 7144
Wohnort: Niedersachsen
 | Beitrag No.1, eingetragen 2020-10-12
|
Kannst Du noch etwas mehr Kontext liefern?
In welcher Form wäre eine Ableitung denn gegeben?
Die Fähigkeiten von Matlab mit Variablen zu arbeiten sind mir leider nicht so geläufig.
Eventuell kann Dir der "eval"-Befehl weiterhelfen, mit dem man in der Lage ist, aus einer Funktion in Form eines Textstring wie '2+x' und einer Wertzuweisung wie "x=4" ein Ergebnis (6) zu berechnen.
|
Profil
|
Mondschimmer
Ehemals Aktiv  Dabei seit: 27.12.2019 Mitteilungen: 52
 | Beitrag No.2, vom Themenstarter, eingetragen 2020-10-12
|
Hallo Kitaktus
Die Ableitung ist in folgender Form gegeben:
\sourceon matlab
sym x
f=input('tip in function')
m=diff(f,x)
n=diff(m,x,2)
[n,tf]=str2num('n') hier soll n automatisch eingefügt werden
if tf==1
fprintf('Txt')
else fprintf('Txt')
end
\sourceoff
die Abfrage von
\sourceon matlab
[n,tf]=str2(clr)
\sourceoff
gibt ja eine logische Aussage aus, also entweder clr enthält nur Zahl, oder clr enthält Buchstaben und Zahlen.
ist die zweite Ableitung dann clr=n=2*x+3 kommt eine false Aussage wegen dem x heraus. Ist die zweite Ableitung clr=n=4 kommt eine true Aussage heraus.
Die Ableitung n jetzt automatisch in die Abfrage einzufügen ist die Herausforderung =)
Liebe Grüße
Jan
|
Profil
|
Mondschimmer hat die Antworten auf ihre/seine Frage gesehen. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|