|
|
> function-function Problem mit oder ohne feval |
|
stoxxii |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.11.2012, 15:31
Titel: > function-function Problem mit oder ohne feval
|
 |
Hallo Guys,
Hi Admin,
habe wohl rel. kleines Programmierungs-Problem ...
Klar, auch ein wenig Verständnis-Problem ,
was genau bei Matlab im Hintergrund abläuft
Folg. Script-File:
Wie binde ich denn halbwegs sinnvoll , und Error-frei ,
die function für "f". ein ??? , via feval oder doch wie angedeutet ,
mit der sub-function f ???
Anmerkg.: Ich worke noch mit der Old-Version 6.5 R13..
Danke für euere Mühen vorab...
Beste Grüße
stoxxii
Beschreibung: |
|
 Download |
Dateiname: |
myFunPlot.m |
Dateigröße: |
363 Bytes |
Heruntergeladen: |
437 mal |
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.11.2012, 11:07
Titel: Re: > function-function Problem mit oder ohne feval
|
 |
Hallo stoxxii,
Die Abkürzungen machen das Lesen Deiner Nachricht für mich schwer. Für Forum-User, die nicht Deutsch als Muttersprache sprechen, wird das noch schwieriger sein.
Das file ist kein "Script"-File, sondern eine "Funktion". Dies ist ein wichtiger Unterschied in Matlab.
Du kannst die Funktion "f" als Unterfunktion aufrufen. Aber dann kann "f" nicht gleichzeitig als Function-Handle übergeben werden, da die Unterfunktion ja ausserhalb der Funktion nicht bekannt ist. Also entweder:
Oder schreibe die Funktion "f" in ein eigenes File und dann:
Nur beides zu vermischen funktioniert nicht.
Gruß, Jan
|
|
|
stoxxii |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 15:47
Titel: sorry, bin weiter gekommen, aber bei "switch" hape
|
 |
|
 |
|
Halloo Moderator,
sorry, really sorry, das ich manchmal so eine unglückliche oder unprofessionelle Schreibweise benutze ....
Danke nochmal für dein Tip unten ...
ich habe inzw. weiterprogrammiert und einiges gelernt ...
aber an der Umsetzg. hapert es macnhmal ..
Wie jetzt im File im Anhang ...
ich wollte eine naja, vielleicht überflüssiges Abfrage vor dem Switch machen ...
für alle blödsinnigen Input-Arguments ... wie eben [NaN, oder 0 oder leer ]...
daher habe ich eine overall if-loop gebastelt in der dann die
switch-case-loop voll mit allen mögl. Operationen durchlaufen sollte ...
und hinten dran dann ein else mit error-Spruch & break , wenn blöde Input-arguments eingegeben wurden ...
aber ... ich kriege die spezifizierte 3. Function mit 1/x nicht in den ausgewählten "case f==3",
wo dann der Plot mit roter Linie ausgeführt werden sollte ...
Die anderen 4 feval-Functions sollen normal mit blau geplottet werden ...
ich dachte eben, man kann die 4 Fcts. alle in einen case packen und muß nicht insgesamt jeweils ein separaten case modellieren ...
übrigens habe ich schon kapiert, wann ich mit char und double arbeite, naja geglaubt ...
ich hoffe, du , ihr könnt mich wieder halbwegs verstehn ...
und sogar diese beiden Programmier-Tips geben ...
Danke im voraus für Zeit & Müh...
beste grüße
stoxxii
Beschreibung: |
|
 Download |
Dateiname: |
fevalplot.m |
Dateigröße: |
1.28 KB |
Heruntergeladen: |
443 mal |
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 17:40
Titel: Re: sorry, bin weiter gekommen, aber bei "switch"
|
 |
|
 |
|
Hallo stoxxii,
Statt eines "sorry" wäre es hilfreicher, Du würdest Dich um eine professionellere Schreibweise bemühen.
Zitat: |
daher habe ich eine overall if-loop gebastelt in der dann die
switch-case-loop voll mit allen mögl. Operationen durchlaufen sollte ...
und hinten dran dann ein else mit error-Spruch & break , wenn blöde Input-arguments eingegeben wurden ... |
Ich habe keine Ahnung, was eine "overall if-loop" sein könnte. "If" erzeugt keine Schleife und "overall" ist weder definiert noch erklärt. Was sind "alle möglichen Operationen"? Was ist ein "error-Spruch"? Was bedeutet "& break"? Was genau heißt "blöde"?
Bitte lies nochmal die Dokumentation zum SWITCH Befehl durch. "case f==3" macht sicher nicht das, was Du vermutest. Denn "f==3" ergibt TRUE, wenn f gleich 3 ist, aber Du möchtest ja nicht f mit TRUE vergleichen, oder?! Das Lesen der Hilfe-Texte hilft hier so gut, dass ich diese hier besser nicht nacherzähle.
Zitat: |
ich hoffe, du , ihr könnt mich wieder halbwegs verstehn ... |
Nein, ich zumindest kann Dich weniger als halbwegs verstehen. Deine Wortwahl mag lässig sein, aber es gibt einen merklichen Unterschied zwischen zu lässig und zulässig.
Gruß, Jan
|
|
|
stoxxii |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.11.2012, 16:18
Titel: >> an Jan , dem Super Hirn ...
|
 |
|
 |
|
Halloo Jan,
also ich nicht Ahnung von Mathe und Matlab ... Klar ..
Aber wie Du dich in meinem primitiven MAtlab-Script nicht zurecht finden kannst , also Voll-Profi , ist ja wohl nur lächerlich ... und nicht meine Ausdrucksweise ...
Ich spreche von einer if-Loop , und du fängst das stottern an , wo Sie den ist ...
ES IST nur eine einzige da , eine Overall , also diese eine Einzige, welche über die SWITCH-Cases gespannt sein soll ...
wo ist das den so schwer zu verstehen ... Ich bekam errors , weil ich mal vor den switch und mal hinter den switch-Case die else (auch elseif) eingebaut hatte ...
Irgend wo stimmte meine Abfrage Logic nicht ... Daher habe ich euch gefragt ... und das WORT Overall ... ist ja wohl schulmädchhaft billig, d.h. heißt allumfassend oder insgesamt ...
EGAL ...
und meine 2. Frage : wie machen , das funy = f = 3 mit rot geplottet wird ...
Man oh man , ich frage woanders nach ... mein Prof. ist aus Ecuador zurück ... vielleicht maches ich selber heute abend ...
grüße
uwe
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 19.11.2012, 18:47
Titel: Re: >> an Jan , dem Super Hirn ...
|
 |
|
 |
|
Hallo Uwe,
Beleidigungen sind im Forum nicht erwünscht und wir kommen sehr gut ohne sie aus.
In diesem Forum gibt es viele User, die Deutsch nicht als Muttersprache sprechen, und viele Matlab-Anfänger. Deshalb ist es sinnvoll und erwünscht, dass sich Fragensteller so klar und so einfach ausdrücken, wie es für sie möglich ist. Dies traf für Deine Frage hier nicht zu und darauf habe ich Dich aufmerksam gemacht. Ein Forum über eine wissenschaftlich technische Anwendung funktioniert nicht, wenn jeder seine eigenen erfundenen Wörter verwendet.
Klare und knappe Fragen erlauben effiziente Anwtorten. Viele "...", Abkürzungen und erfundene Fachausdrücke rauben dagegen Zeit. Leider enden einige der Threads, in denen Du Fragen gestellt hast, mit Rückfragen von mir, ohne dass Du Dich weiter darum gekümmert hast. Das ist kein respektvoller Umgang mit der Arbeitszeit anderer.
Es mag sein, dass ich mehr Erfahrung in Matlab habe als andere Nutzer dieses Forums. Deshalb ist es aber trotzdem nicht meine Aufgabe, mich durch verwirrende Formuliereungen zu arbeiten und den Zweck von gepostetem Code zu erraten. Ich bin keine Antwort-Maschine, die man mit beliebig schnodderig formulierten Fragen füttern kann und die trotzdem exakt und zügig eine Lösung zu finden hat. Ich bin in diesem Forum Moderator und poste in meiner Freizeit ein paar Dinge, die ich über Matlab gelernt habe.
Wenn Du Dein Script primitiv findest und Du es heute Abend selbst verbessern kannst, halte ich dies für eine gute Lösung.
Gruß, Jan
|
|
|
stoxxii |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.11.2012, 20:57
Titel: >> Entschuldigung , du hast schon recht ...
|
 |
|
 |
|
Halloo Jan,
entschuldige, ... ich habe nicht mathematisch sauber formuliert ...
Oft habe ich versucht, via PDF-Lehr-Scripte etwaige geistige Mängel auszugleichen , also da wo Matlab Operationen eigentlich erklärt werden sollen ...
wie eben die Reaktion auf den Gebrauch des einen oder anderen Befehl ist ...
Aber manchmal habe ich dann gar nix brauchbares gefunden ... und dann ist der Kopf auch noch mit anderen Krempel zugemüllt,
da passiert es , leider , das ich mich etwas schluderich ausdrücke ...
Klar, das kann ein Außenstehender , ob Mathe-Ass oder nicht , schwierig nachvollziehen ... was ich eigentlich genau ergünden möchte im speziellen Matlab File ...
also bitte entschuldige meine oberflächerliche Schreibweise nochmal ...
>> das geht schon los, das ich 4-5 angeblich brauchbare Integer-Tests habe ...
aber nö ... hier habe ich scheinbar eine Konstellation in diesem angehängten und überarbeiteten Matlab-File...
wo meine diversen Integer-Tests nicht klappen ... ich habe auch den vom Peter J.Acklam ...ausprobiert ...
das sind hier meine TEST Inputs:
[fevalFun(2.7,1,8] <= hier spinnt meine Konstruktion
fevalFun(3,1,2.5) <= event. hier auch
fevalFun(1,1,2.5)
fevalFun(5,1,2.5)
fevalFun(4,1,2.5)
fevalFun(4,1) <= und hier kommen nicht, die Error-Sprüche die ich eingeben habe , oder auch das "warndlg"
Kannst ja, wenn du nochmal Zeit & Lust hast kurz mein File aufrufen und meine Test-Inputs im Command-Window abrufen ...
Nicht erschrecken, daß sind ein paar Integer abfragen drin ... Ich habe eben noch keinen echten Plan , wie ich das rel. simple aber genau struktieren soll :
also : nargin<3 , dann "warndlg" oder "Error-Spruch "
und das f , also das erste Input-Argument, das will ich speziell abfragen und logisch testen ....
Naja, es ist nicht so einfach , meine Gedanken einem Fremden Dritten zu übermitteln ...
bis dann , keep it up
beste grüße
stoxxii
Beschreibung: |
|
 Download |
Dateiname: |
fevalFun.m |
Dateigröße: |
1.67 KB |
Heruntergeladen: |
464 mal |
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 23.11.2012, 13:38
Titel: Re: >> Entschuldigung , du hast schon recht ...
|
 |
|
 |
|
Hallo stoxxii,
Die Anzahl der Fehler in Deinem Code wird von Mal zu Mal größer statt kleiner. Inzwischen sehe ich 13 Probleme und Fehler. Offenbar ist Deine Art das Forum zu nutzen nicht zielführend.
Wenn Du eine klare und explizite Frage stellst, ist eine hilfreiche Antwort wahrscheinlicher. Eine sehr gute Strategie ist alles, aber auch wirklich alles, wegzulassen, was nicht mit dem einen, einzigen, Problem zu tun hat, welches Du in einem Thread in Forum lösen möchtest. Die Details, die Du für wichtig hälst, müssen wirklich 100%ig klar sein (z.B. hat Herr Acklam dutzende Funktionen veröffentlich. Also entweder einen Link zu der speziellen posten, oder dieses Detail weglassen). Wenn Du Dich nicht auf das Wesentliche konzentriest, können das die Antwortenden auch nicht.
Ein sehr zuverlässiger Indikator für Sätze, die man ersatzlos streichen kann, ist das Auftauchen der Phrase "...". Ausserdem sind hier nur Matlab-Probleme von Interesse, alle Arten von Befindlichkeiten dagegen off-topic.
Dies ist mein letzter Versuch, Dir eine effiziente und erfolgreiche Nutzung des Forums nahezulegen.
Wenn Du meinst darauf wieder persönlich reagieren zu müssen, klären wir das ausserhalb des öffentlichen Forums: entweder per PN, wenn Du Dich anmeldest, oder ich kontaktiere Dich in Deiner Uni (Adresse und Namen hast Du ja in den geposteten Files mehrfach hinterlassen).
Gruß, Jan
|
|
|
stoxxii |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.11.2012, 16:14
Titel: >> kannst du mir kurz ein paar Fehler nennen
|
 |
Halloo Jan,
ja sorry, ich bemüh mich beim nächsten mal, wirklich ,
gezielt und verkürzt meine Frage zu stellen und zu formulieren ...
Aber bitte nimm dir noch einmal kurz Zeit und lass mein heute angehängtes File durchlaufen ...
und bitte nimm mal folgende 2 Test-Inputs
fevalfun(-2.7, 1, 2.5)
fevalfun(7, 1,2.5)
Vielleicht könntest du mir nur 2 oder 3 Haupt-Fehler benennen, anstatt wie von Dir erwähnt, 13 Fehler ...
Danke nochmal vorab für's Mühen im voraus...
beste grüße
stoxxii
Beschreibung: |
|
 Download |
Dateiname: |
fevalFun.m |
Dateigröße: |
1.47 KB |
Heruntergeladen: |
403 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|