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

function handle von zwei variablen plotten

 

mrdjv2
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 14.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2008, 10:34     Titel: function handle von zwei variablen plotten
  Antworten mit Zitat      
Hallo, ich würde gerne ein function handle von zwei variablen plotten.

mir ist klar, daß das bei einer variablen mit fplot(func, [xa xb]) geht.
wie mache ich das aber, wenn func von zwei variablen abhängt?

gruß
daniel
Private Nachricht senden Benutzer-Profile anzeigen


Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 21.12.2008, 19:59     Titel:
  Antworten mit Zitat      
Hallo,

hier ein kleines Beispiel:
Code:
f = @(x,y) sin(x).*cos(y);
x = linspace(-pi,pi);
y = linspace(-pi,pi);
[X,Y] = meshgrid(x,y);
Z = f(X,Y);
surf(X,Y,Z)
 


Ciao,
Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
GastTimo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2013, 16:26     Titel: Problem bei den Dimensionen einer Funktion mit zwei Variable
  Antworten mit Zitat      
Ich habe ein ähnliches Problem. Am Beispiel orientiert habe ich bisher folgenden Code:

Code:


l=15 ; %Konstante
lambda=[5/15:5/15:50/15]; %meine 1. Variable
alpha=(0:pi/180:20*pi); %meine 2. Variable
[X,Y]=meshgrid(alpha,lambda)
f=@(alpha,lambda)r*(1-cos(alpha)+lambda*sin(alpha).^2*0.5)
Z=f(X,Y);
surf(X,Y,Z)

 


In der 5. Zeile stimmen die Dimensionen der Variablen irgendwie nicht vermute ich. Was mache ich falsch?
 
Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 12.12.2013, 16:48     Titel:
  Antworten mit Zitat      
Hallo,

statt alpha und lambda musst du dann auch X und Y benutzen. r ist in dem Beispiel auch noch nicht definiert.
Code:
l=15 ; %Konstante
lambda=[5/15:5/15:50/15]; %meine 1. Variable
alpha=(0:pi/180:20*pi); %meine 2. Variable
[X,Y]=meshgrid(alpha,lambda)
r = 1;
f=@(X,Y)r.*(1-cos(X)+Y.*sin(X).^2*0.5)
Z=f(X,Y);
figure
surf(X,Y,Z)
shading flat


so sieht man was.
Viele Grüße,

Edit: denny's Beitrag unten stimmt natürlich auch, du kannst auch die namen bei alpha und lambda lassen.
Nras.

Zuletzt bearbeitet von Nras am 12.12.2013, 16:50, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 12.12.2013, 16:48     Titel:
  Antworten mit Zitat      
Hallo
Das liegt an der Multiplikation der 2 Matrizen, beide sind 10*3601 groß
Entweder willst du diese Elementenweise multiplizieren oder du muss es mathematisch richtig machen.

versuch so:
Code:

l=15 ; %Konstante
lambda=[5/15:5/15:50/15]; %meine 1. Variable
alpha=(0:pi/180:20*pi); %meine 2. Variable
[X,Y]=meshgrid(alpha,lambda)
f=@(alpha,lambda)r*(1-cos(alpha)+lambda.*sin(alpha).^2*0.5)
Z=f(X,Y);
surf(X,Y,Z)
shading flat
 
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.