2016-07-12 11 views
-1

ich einen symbolischen Ausdruck erstellt und versucht dann ezmesh darauf zu verwenden, wie in der unten stehenden Code gesehen:Matlab symbolischen Ausdruck Fehler

>> z1 = sym('3*(1-x)^2*exp(-(x^2)-(y+1)^2)'); 
>> z2 = sym('-10*(x/5 - x^3 -Y^5)*exp(-x^2-y^2)'); 
>> z3 = sym(' - 1/3*exp(-(x+1)*2 - y^2)'); 
>> z = z1 + z2 + z3 
z = 
3*exp(- (y + 1)^2 - x^2)*(x - 1)^2 - exp(- y^2 - 2*x - 2)/3 + 10*exp(- x^2 - y^2)*(Y^5 + x^3 - x/5) 
>> ezmesh(z) 

Ich habe die folgende Fehlermeldung:

Error using ezgraph3>ezfixfun (line 677) 
The expression exp(x.*-2.0-y.^2-2.0).*(-1.0./3.0)+exp(-(y+1.0).^2-x.^2).*(x-1.0).^2.*3.0+exp(-x.^2-y.^2).*(x.*(-1.0./5.0)+Y.^5+x.^3).*1.0e1 must only have 2 symbolic 
variables 
Error in ezgraph3>surfplot (line 535) 
[F,var] = ezfixfun(F,fargs,flabel); 
Error in ezgraph3 (line 48) 
    [dummy,h] = surfplot(f,domain,surfstyle,cax,Npts,fixdomain,flabel,fargs); 
Error in ezmesh (line 65) 
    h = ezgraph3('mesh',args{:}); 
Error in sym/ezhelper (line 1074) 
      fcn(F,varargin{:}); 
Error in sym/ezmesh (line 51) 
ezhelper(@ezmesh,f,varargin{:}); 

Wenn jedoch Ich habe die Peak-Funktion in der Dokumentation nachgeschlagen, ich fand einen sehr ähnlichen Ausdruck, der mit ezmesh funktioniert. Kann jemand die Unterschiede erklären?

z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ... 
    - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ... 
    - 1/3*exp(-(x+1).^2 - y.^2) 
+3

Die Hauptstadt 'Y' gegenüber 'Y'? – TroyHaskin

+1

"müssen nur 2 symbolische Variablen haben" sehen Sie, wie die Fehlermeldung Ihnen genau gesagt hat, was das Problem war? Lesen Sie immer Matlab Fehlermeldungen, diese sind (fast immer) sehr hilfreich! – David

Antwort

1

Fehler "müssen nur 2 symbolische Variablen haben" bedeutet, dass es mehr als 2 Variablen gibt. Sie hatte eine Hauptstadt Y an einem Ort statt y, fest:

z1 = sym('3*(1-x)^2*exp(-(x^2)-(y+1)^2)'); 
z2 = sym('-10*(x/5 - x^3 -y^5)*exp(-x^2-y^2)'); 
z3 = sym(' - 1/3*exp(-(x+1)*2 - y^2)'); 
z = z1 + z2 + z3; 
ezmesh(z) 
Verwandte Themen