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

Funktionsdatei schreiben die vektorisiert arbeitet

 

matlabgo
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 16.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2018, 14:53     Titel: Funktionsdatei schreiben die vektorisiert arbeitet
  Antworten mit Zitat      
Hallo liebes Forum,
da ich so verzweifelt bin, habe ich mich kurzfristig in diesem Forum angemeldet und hoffe auf eure Unterstützung.

die Aufgabe lautet wie folgt:
Schreiben Sie eine .m-Datei für die Funktion f(x,h(x)) = h(x)−e^(-x)^2

; diese soll vektorisiert arbeiten!
h(x) soll eine beliebige, als Eingabeparameter übergebene Funktion h : R → R repräsentieren.

Meine Frage lautet, wie schaff ich es die Funktionen als Vektor zu bekommen und diese damit voneinander subtrahieren kann.

Vielen Dank im Voraus!
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 16.08.2018, 15:01     Titel: Re: Funktionsdatei schreiben die vektorisiert arbeitet
  Antworten mit Zitat      
Hallo matlabgo,

Bitte poste den bisherigen Code.
Es ist eigentlich recht einfach. Du musst nur statt "e^" die exp verwenden und statt der Matrix-Operation ^2 die elementweise Potenz .^2 verwenden.
Da das eine Hausaufgabe zu sein scheint, poste ich nicht die Lösung. Probiere es und frage dann nochmal nach.

gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
matlabgo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 16.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2018, 15:09     Titel:
  Antworten mit Zitat      
Code:
function[] = probeklaus(h)

a = exp(-x).^2;

F = h - a;


end
 


so? und wie geb ich die x-Variable an? da ich zurecht eine Fehlermeldung diesbezüglich bekomme.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.497
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.08.2018, 16:07     Titel:
  Antworten mit Zitat      
Hallo,

x sollte auch ein Eingabeargument der Funktion sein.
Statt h solltest du h(x) schreiben und h als Function Handle übergeben.

Ich würde die Funktion zudem F zurückgeben lassen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
matlabgo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 16.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2018, 16:17     Titel:
  Antworten mit Zitat      
Code:
function[] = probeklaus(h(x),x)


a = exp(-x).^2;

F = h - a;

disp(F);
end
 


ich habe nicht ganz verstanden, wenn ich die Funktion H eingebe, dann als Handle, aber in der Funktion muss sie so stehen?
Trotzdem kriege ich Fehlermeldungen..
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.497
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.08.2018, 21:53     Titel:
  Antworten mit Zitat      
Hallo,

nein, nicht so, sondern

Code:
function F = probeklaus(h,x)


a = exp(-x).^2;

F = h(x) - a; % hier muss das (x) hin.

%disp(F);
end


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
matlabgo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 16.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2018, 22:14     Titel:
  Antworten mit Zitat      
vielen Dank.
wie muss ich dann die funktion h eingeben? über handle ? oder wie?

wenn mein h(x) = 3*x + 3 wäre? wenn man das so eingibt, krieg ich den Fehler, dass die variable x noch nicht bekannt ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.497
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.08.2018, 23:17     Titel:
  Antworten mit Zitat      
Hallo,

wie gesagt: als Function Handle. Siehe z.B.

https://de.mathworks.com/help/matla.....ng-a-function-handle.html
https://www.gomatlab.de/tutorial-ke.....function-handle-t545.html

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
matlabgo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 16.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2018, 23:29     Titel:
  Antworten mit Zitat      
ok vielen Dank!
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.