www.vorkurse.de
Ein Projekt von vorhilfe.de
Die Online-Kurse der Vorhilfe

E-Learning leicht gemacht.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Teams · Forum · Wissen · Kurse · Impressum
Forenbaum
^ Forenbaum
Status Mathe-Vorkurse
  Status Organisatorisches
  Status Schule
    Status Wiederholung Algebra
    Status Einführung Analysis
    Status Einführung Analytisc
    Status VK 21: Mathematik 6.
    Status VK 37: Kurvendiskussionen
    Status VK Abivorbereitungen
  Status Universität
    Status Lerngruppe LinAlg
    Status VK 13 Analysis I FH
    Status Algebra 2006
    Status VK 22: Algebra 2007
    Status GruMiHH 06
    Status VK 58: Algebra 1
    Status VK 59: Lineare Algebra
    Status VK 60: Analysis
    Status Wahrscheinlichkeitst

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - String in Funktion umwandeln
String in Funktion umwandeln < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

String in Funktion umwandeln: "Matlab"
Status: (Frage) beantwortet Status 
Datum: 11:35 Di 05.12.2006
Autor: JParis

Hallo,

kann jemand bitte mir sagen wie man ein vorgebener String in funktion mit Matlab umwandeln kann.

str1 = ' [mm] x^2 [/mm] + 3*x + 4 ';
str2 = ' exp(2*x+3) ' ;

ich möchte str1 und str2 in funktionen f1(x) und f2(x) umwandeln

for x = 1:10
    f1(x) =  [mm] x^2 [/mm] + 3*x + 4;    
    f2(x) = exp(2*x+3) ;
end;

Danke für jede Hilfe.

JParis


Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
String in Funktion umwandeln: Antwort
Status: (Antwort) fertig Status 
Datum: 11:52 Di 05.12.2006
Autor: Martin243

Hallo,

es ist nicht direkt ein Umwandeln sondern ein Auswerten und funktioniert ber eval. Also  muss in der Schleife stehen:

f1(x) = eval(str1);
f2(x) = eval(str2);


Gruss
Martin

Bezug
                
Bezug
String in Funktion umwandeln: es funktioniert super
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:35 Mi 06.12.2006
Autor: JParis

Hallo Martin ,

danke es klappt super

Gruß

JParis

Bezug
                        
Bezug
String in Funktion umwandeln: Wieder läuft was nicht !
Status: (Frage) beantwortet Status 
Datum: 17:29 Do 07.12.2006
Autor: JParis

Hallo ,

ist es möglich ein String in irgendwelchem Abstand in Funktion umzuwandelt ?

z. B

str = [mm] 'x^2-3*x+5*sin(x)+5'; [/mm]


for x = -50:0.2:50

   f(x) = eval(str);

end


Mit dieser for-schleife geht es nicht da man positiven index benutzen muss,
weiss bitte jemand wie man das Problem lösen kann.

Danke


JParis



Bezug
                                
Bezug
String in Funktion umwandeln: Blindes Huhn
Status: (Antwort) fehlerhaft Status 
Datum: 17:40 Do 07.12.2006
Autor: Karthagoras

Hallo JParis,

hau mich nicht, wenns nicht klappt, denn ich habe von Matlab nicht die geringste Ahnung.

Aber was hältst du von:

>
> str = 'x^2-3*x+5*sin(x)+5';
>  
>

for i = 0:0.2:100
x= i - 50;
  

> f(x) = eval(str);
>  
> end

Auf diese Weise umgehst du auf jeden Fall die negative Indexvariable in der Schleife

Gruß Karthagoras

Bezug
                                        
Bezug
String in Funktion umwandeln: Korrekturmitteilung
Status: (Korrektur) fundamentaler Fehler Status 
Datum: 19:19 Do 07.12.2006
Autor: Martin243

Hallo,

der negative Wert der Schleifenvariablen ist nicht das Problem. Dein Lösungsvorschlag funktioniert auch nicht. Deine Lösung führt zu gebrochenen Indizes.
Aber es schlägt dich keiner...[happy]


Gruß
Martin

Bezug
                                
Bezug
String in Funktion umwandeln: Antwort
Status: (Antwort) fertig Status 
Datum: 19:29 Do 07.12.2006
Autor: Martin243

Hallo,

man darf als Indizes weder negative noch gebrochene Zahlen benutzen!

Also müsste dein Programm korrekt so aussehen:
x1 = -50:0.2:50;
for i=1:length(x1),
  x=x1(i);
  f(i)=eval(str);
end;


Übrigens kannst du die Berechnung des gesamten f-Vektors abkürzen, wenn du dem Potenzzeichen einen Punkt voranstellst. Dann sieht es so aus:
str = 'x.^2-3*x+5*sin(x)+5';
 f = eval(str);


In beiden Fällen ist f dann ein Vektor mit den Indizes 1 bis 501. Also Vorsicht beim Zugriff! f(5) ist nicht der Funktionswert von 5, sondern der Funktionswert des 5. Elements des Vektors -50:0.2:50, also -49.2.


Gruß
Martin


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorkurse.de
[ Startseite | Mitglieder | Teams | Forum | Wissen | Kurse | Impressum ]