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

1 回表示 (過去 30 日間)
Omer Sholev
Omer Sholev 2016 年 5 月 28 日
回答済み: Walter Roberson 2016 年 5 月 28 日
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 Center および File ExchangeCalculus についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by