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

Plotten von Funktionen?

 

Jens88

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2015, 19:25     Titel: Plotten von Funktionen?
  Antworten mit Zitat      
Hallo Leute,

ich stehe gerade vor einem (kleinen?) Problem, mit dem ich nicht so wirklich fertig werde.
Es geht darum, eine Funktion zu plotten. Das klingt nun recht einfach, aber irgendwie schaffe ich das gerade nicht. Es handelt sich dabei um 3 verschiedene Funktionen, die letztlich 3-Dimensional dargestellt werden.
Ich habe es momentan so weit, dass ich mir über die Funktionen eine Array mit den Werten der jeweiligen Funktionen fülle, welche ich letztlich Plotte. Das funktioniert auch gut, allerdings ist es nicht unbedingt schön, da der Plot nun mehr oder weniger eine Punktwolke ist. ... - Ist es hier irgendwie möglich die Funktion "direkt" zu plotten, also so, dass ich auch ein "schönes" Netz erhalte, welches sich nicht notwendigerweise aus den Stellen ergibt, an denen ich die Funktion auswerte?

Hier ist mein entsprechender Skript-Ausschnitt;
dbl_model_cg, dbl_temppt_const_t, dbl_temppt_lin_t sind Konstanten und arr_node_coords_x bzw. arr_node_coords_y sind jeweils 33x5-Matritzen mit Koordinateneinträgen zur Beschreibung einer Oberfläche

Code:

% Ebenengleichung aufstellen
  fct_temppt = inline('a_0+a_1*x+a_2*y','a_0','a_1','a_2','x','y');
 
  % Temperaturanteile bestimmen und zur Darstellung vorbereiten
  for ii=1:size(arr_node_coords_x)
     
      for kk=1:size(arr_node_coords_y,2)
         
          % konstanter Anteil
          arr_temperaturefield_const_t(ii,kk) = feval(fct_temppt, ...
              dbl_temppt_const_t, 0, 0, ...
              (dbl_model_cg-arr_node_coords_x(ii)), arr_node_coords_y(kk));
         
          % linearer Anteil              
          arr_temperaturefield_lin_t(ii,kk) = feval(fct_temppt, ...
              0, dbl_temppt_lin_t, 0, ...
              (dbl_model_cg-arr_node_coords_x(ii)), arr_node_coords_y(kk));
         
          % nichtlinearer Anteil
          arr_temperaturefield_nlin_t(ii,kk) = feval(fitresult, ...
              arr_node_coords_y(ii,kk), arr_node_coords_x(ii,kk)) ...
              -(arr_temperaturefield_const_t(ii,kk)+ ...
              arr_temperaturefield_lin_t(ii,kk));
         
      end
     
  end

  %% Plotten
 subplot(2,2,3)
  h = surf(arr_node_coords_y, arr_node_coords_x, ...
      arr_temperaturefield_const_t);
  axis([0 2.5 0 8 20 60]);
  xlabel( 'Breite [m]' );
  ylabel( 'Höhe [m]' );
  zlabel( 'Temperatur [°C]' );
  title('konstanter Anteil');
  grid on;
  daspect([8 8 60]);
  colorbar;
 
  subplot(2,2,2)
  h = surf(arr_node_coords_y, arr_node_coords_x, ...
      arr_temperaturefield_lin_t);
  axis([0 2.5 0 8 -10 10]);
  xlabel( 'Breite [m]' );
  ylabel( 'Höhe [m]' );
  zlabel( 'Temperatur [°C]' );
  title('linearer Anteil');
  grid on;
  daspect([8 8 20]);
  colorbar;
 
  subplot(2,2,4)
  h = surf(arr_node_coords_y, arr_node_coords_x, ...
      arr_temperaturefield_nlin_t);
  axis([0 2.5 0 8 -30 30]);
  xlabel( 'Breite [m]' );
  ylabel( 'Höhe [m]' );
  zlabel( 'Temperatur [°C]' );
  title('nichtlinearer Anteil');
  grid on;
  daspect([8 8 60]);
  colorbar;

 


... irgendwo hab' ich leider gerade einen Knoten sitzen.
Ich würde mich freuen, wenn mir jemand weiterhelfen kann!

Liebe Grüße,
Jens


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 09.12.2015, 19:47     Titel:
  Antworten mit Zitat      
oh mannn inline.... feval... das ist ja n graus zu lesen....

warum benutzt du keine anonyme funktion und meshgrid ?
eine funktion zu plotten ohne sie an stellen auszuwerten ist denke ich nicht möglich.
_________________

richtig Fragen
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.