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

MatlabNeuling, Funktion definieren

 

phigo90
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 22.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.01.2016, 20:19     Titel: MatlabNeuling, Funktion definieren
  Antworten mit Zitat      
Hallo,

ich bin relativer Matlab-Neuling. Ich habe mich bisher relativ gut durchgekämpft, aber gerade stehe ich auf dem Schlauch (Ich steige gerade von Mathematica um, deswegen stelle ich mich vllt. ein wenig an...)
Folgendes möchte ich machen.
Ich habe eine Funktion zum Beispiel
Code:
% Das ist mein Programm.
ftest(x,t,sig)=exp(-((x-t)/sig)^2);
 
.
Die Variable t ist ein Vektor mit n Einträgen. Ich möchte nun ein Vektor erstellen, der folgendermaßen aussieht (Mit sig=1):
Code:

sol(1)= exp(-((x-t(1))/1)^2);
sol(2)= exp(-((x-t(2))/1)^2);
sol(3)= exp(-((x-t(3))/1)^2);


Im Anschluss möchte ich ein Skalarprodukt zwischen den einzelnen e-Funktionen und irgendwelchen Vorfaktoren bilden, sodass zum Schluss folgendes herauskommt:

2*exp(-((x-t(1))/1)^2)+4*exp(-((x-t(2))/1)^2)+6*exp(-((x-t(3))/1)^2).

Diese Funktion möchte ich dann über x plotten.

Das ist meine Problemstellung, ich habe mich bereits an "syms" probiert, jedoch bekomme ich immer Probleme, wenn ich dann im Anschluss für eine syms Variable etwas einsetzten möchte (also meine t(i)), aber trotzdem die Funktion über x plotten möchte...Ich hoffe ich konnte mich ausdrücken.
Entschuldigt für die vllt. triviale Fragestellung. Confused
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


Friidayy
Forum-Century

Forum-Century


Beiträge: 225
Anmeldedatum: 17.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 23.01.2016, 12:11     Titel:
  Antworten mit Zitat      
Hallo phigo90,

Code:
function y=ftest(t,x,sig)
y=exp(-((x-t)/sig).^2);
end


Wichtig ist der Punkt vor dem ^2, da t dann als Vektor übergeben werden kann und die Funktion elementweise ausgeführt wird, sodass y wiederrum ein Vektor ist.

Code:
t=1:3;
x=1;
sig=1;
y=ftest(t,x,sig);
w=2:2:6;
erg=y*w';


Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
phigo90
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 22.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.01.2016, 14:39     Titel:
  Antworten mit Zitat      
Vielen Dank für die Hilfe, so funktioniert es, habe jetzt schon wieder ein neues Problem, ich poste es aber unter einer anderen Topic. Crying or Very sad
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Friidayy
Forum-Century

Forum-Century


Beiträge: 225
Anmeldedatum: 17.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 24.01.2016, 11:45     Titel:
  Antworten mit Zitat      
Dann sign den Thread bitte noch als beantwortet Wink
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.