WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

String an Funktion übergeben

 

JeefoWin32
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 24.12.09
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 17.04.2010, 12:38     Titel: String an Funktion übergeben
  Antworten mit Zitat      
Hallo,

ich habe zur Zeit das Problem, dass ich einer Funktion einen String als Aufruf mitgeben möchte. Leider mäkelt MATLAB ständig dran rum.
Hab es schon mit
Code:
und
Code:
versucht, leider ohne Erfolg...

Hier mal der Anfang des Werkes
Code:

function [Int]=myQuadratur(Method,f,a,b)
% if(strcmp(Method,'Mittelpunkt')==1)
if(eval([Method '=' Mittelpunkt])==1)
    x0=(a+b)/2;
    Int=(b-a)*feval(f,x0);
 


Ich erhalte leider bei jedem Aufruf den Fehler
??? Undefined function or variable 'Mittelpunkt'.,
was mich etwas stört.

Muss der Funktionskopf anders aussehen oder muss ich strcmp anders verwenden, damit es läuft?

MfG
Private Nachricht senden Benutzer-Profile anzeigen


DonJohnson

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.04.2010, 16:15     Titel:
  Antworten mit Zitat      
Code:

Method = 'Mittelpunkt';
if(strcmp(Method,'Mittelpunkt')==1)
...
 


stimmt schon, hast mal auf Tippfehler gecheckt Wink?[/quote]
 
JeefoWin32
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 24.12.09
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 18.04.2010, 12:33     Titel:
  Antworten mit Zitat      
Ja, leider ohne Erfolg
>> myQuadratur(Mittelpunkt,sin(x),0,1)
liefert immer noch
??? Undefined function or variable 'Mittelpunkt'. , was mich ein wenig ärgert.
Lässt sich switch/case auch mit Strings benutzen?

MfG



Edit by Martin: HERZLICHEN GLÜCKWUNSCH zum 40.000 Beitrag auf goMatlab.de Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
JeefoWin32
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 24.12.09
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 18.04.2010, 14:57     Titel:
  Antworten mit Zitat      
Das erste Problem wäre beseitigt, es lag am fehlerhaften aufruf.
Mit strcmp geht es wie es soll.


Jetz kommt aber eine neue Frage auf:

ich übergebe z.B. @(x) sin(x) an die Funktion.
Intern möchte ich nun den absoluten Fehler berehnen, müsste also integrieren.
Mit
Code:

 F=int(strrep(char(@(x)sin(x)),'@(x)',''));
 

klappt das auch ganz gut, leider ist die Funktion jetzt nicht mehr an den gegebenen Punkten a und b auszuwerten mit feval.
Wie lässt sich dem nun beikommen?

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.