www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
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.mathebank.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]