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

3D Plot ist anders als in Maple

 

SerKuz
Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 07.11.12
Wohnort: ---
Version: MATLAB R2016b
     Beitrag Verfasst am: 08.03.2017, 01:33     Titel: 3D Plot ist anders als in Maple
  Antworten mit Zitat      
Hallo,

ich versuche eine Funktion in Matlab zu plotten, was mir nicht so ganz gelingt. Das Plotten klappt, aber das Ergebnis ist anders als in Maple.

Die Funktion ist:

zz = a+ b*x+ c*y + d*x^2 +...
    e.*x*y + f*y^2 + g*x^3 + ...
    h*x^2*y + k*x*y^2 + m*y^3;
 

mit

a =       7.788;
b =      -16.11;
c =     -0.4383;
d =       170.3;
e =     -0.6997;
f =     0.01007;
g =      -396.6;
h =      0.3158;
k =      0.0109;
m =  -7.795e-05;
 

Maple liefert mir folgendes Plot:

Was plausibel ist. Matlab allerdings:


Mein Matlab Code ist:
Code:


clear all; clc; close all;
a =       7.788;
b =      -16.11;
c =     -0.4383;
d =       170.3;
e =     -0.6997;
f =     0.01007;
g =      -396.6;
h =      0.3158;
k =      0.0109;
m =  -7.795e-05;

x = linspace(0,0.2,25)';
y = linspace(15,50,25)';

[xx,yy] = meshgrid(x,y);

zz = (a + b*xx + c*yy + d*xx.^2 +...
    e*xx*yy + f*yy.^2 + g*xx.^3 + ...
    h*xx^2.*yy + k*xx.*yy^2 + m*yy.^3);

figure();
surf(xx,yy,zz);
view(10,55);
grid on;

 


Was mache ich falsch ?

Mfg
SerKuz
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: 08.03.2017, 02:32     Titel: Re: 3D Plot ist anders als in Maple
  Antworten mit Zitat      
Hallo SerKuz,

Mit Matlab R2016b kann das meshgrid entfallen:
Code:
a =       7.788;
b =      -16.11;
c =     -0.4383;
d =       170.3;
e =     -0.6997;
f =     0.01007;
g =      -396.6;
h =      0.3158;
k =      0.0109;
m =  -7.795e-05;

x = linspace(0,0.2,25);     % Row vector
y = linspace(15,50,25).';   % Column vector

zz = a + b*x + c * y + d * x .^ 2 +...
    e .* x * y + f * y .^ 2 + g * x .^ 3 + ...
    h * x .^ 2 * y + k * x * y .^ 2 + m * y .^ 3;

figure();
surf(x, y, zz);
view(10,55);
grid on;

Sieht aus wie in Maple. Wo war nun der Fehler? Ein paar Matrix-Funktionen sollten elementweise sein:
Code:
zz = (a + b * xx + c * yy + d * xx .^ 2 +...
    e * xx .* yy + f * yy .^ 2 + g * xx .^ 3 + ...
    h * xx .^ 2 .* yy + k * xx .* yy .^ 2 + m * yy .^ 3);
% Statt:
zz = (a + b * xx + c * yy + d * xx .^ 2 +...
    e * xx * yy + f * yy .^ 2 + g * xx .^ 3 + ...
    h * xx ^ 2 .* yy + k * xx .* yy ^ 2 + m * yy .^ 3);

Die Unterschiede zu finden ist ein echtes Suchspiel! Es sind drei Punkte, zwei mal bei ^, einmal bei *.

Der Ausdruck xx^2.*yy ist übrigens nicht trivial: Ist das
Code:
xx ^ 2.0 * yy   % oder
xx ^ 2 .* yy
?
Die alte Regel Leerzeichen um die nicht-unären Operatoren zu setzen kann hier viel Debug-Arbeit sparen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
SerKuz
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 07.11.12
Wohnort: ---
Version: MATLAB R2016b
     Beitrag Verfasst am: 08.03.2017, 22:21     Titel: Re: 3D Plot ist anders als in Maple
  Antworten mit Zitat      
Hallo Jan,
Ach der Punkt... Ärgerlich...
Vielen Dank.

[EDITED, Jan, Bitte kein Top-Quoting der gesamten vorherigen Nachricht - Danke!]
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 - 2024 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.