2016-05-02 11 views
0

Also, das ist mein Skript:Plot stückweise symbolische Funktion

syms t r w 
x1=5^-t*heaviside(t); 
x_2=subs(x1,t,t-r); 
x2=conj(x_2); 
R=int(x1*x2,t,-inf,inf); 
R=simplify(R) 

ezplot(R, [-10 10]); 

R=piecewise([0 <= r, 1/5^r/(2*log(5))], [r <= 0, 5^r/(2*log(5))])

Und wie man sehen kann ich symbolische Lösung mit ezplot Funktion zu zeichnen versuchen aber ich bekomme diese Fehlermeldung:

The input string must be an expression. Implicit functions of a single variable are not supported. 

Wie ich verstehe, funktioniert Matlab nicht mit stückweisen Funktionen. Gibt es eine andere Möglichkeit, diese Funktion darzustellen?

Antwort

2

nahm ich den Ansatz des stückweise Ausdrucks mit ineqalities Umschreiben:

ezplot(@(r)(0 <= r)*1/5^r/(2*log(5)) + (r <= 0)*5^r/(2*log(5))); 

Nicht mit der Copy-Paste ideal, aber es ist besser als nichts.

Alternativ können Sie diese numerisch auswerten:

x = -10:0.01:10; 
y = eval(subs(R,r,x)); 
plot(x,y) 
+0

Dank viel Steve! –