Can't understand how to plot real part of Symbolic Function

4 次查看(过去 30 天)
I'm trying to plot a 3-d graph of the Real part of symbolic function. I have written the code:
syms x real
syms y real
angles = randi([0 360],2,8);
angles = deg2rad(angles);
a = normrnd(0,1,1,8);
a = abs(a);
E = a(1,:).*exp(-1i*K0*(cos(angles(1,:))*x+sin(angles(1,:))*y));
end
And now i want to plot a 3d graph of the real part of the symbolic function E for a range of values of x and y. How can i do that?

采纳的回答

Walter Roberson
Walter Roberson 2016-5-28
[X,Y] = ndgrid(linspace(-5,5), linspace(-3,3)); %your x and y range to plot over
Zr = double(real( subs(E, {x,y}, {X,Y}))); %create numeric real values
Zr = reshape(Zr, size(X,1), size(X,2), []); %E is a vector so each element generated a surface
nsurf = size(Zr,3);
for K = 1 : nsurf
ax = subplot(1,nsurf,K);
surf(ax, X, Y, Zr(:,:,K));
title( char(E(K)) );
end

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by