plot symbolic function real part
2 次查看(过去 30 天)
显示 更早的评论
Hello there,
I would like to plot the real part of this symbolic function I have just solved.
Parameters 'a' and 'e' are varying between 5 and 9, and 0.05 and 0.15 respectively.
Unfortunately, it does not work.
Here you go with my code ( solution is a ratio of sum of Bessel functions of order zero).
clc
clear
set(groot,'DefaultAxesFontSize',14)
set(groot,'DefaultLineLineWidth',1.5)
syms a e
A = [besselj(0,-1i*a*e), bessely(0,-1i*a*e); ...
besselj(0,-1i*a), bessely(0,-1i*a)];
b = [-1; -1];
X = linsolve(A, b);
disp(X)
a = linspace(5,9);
e = linspace(0.05, 0.15);
plot(a, e, X)
0 个评论
采纳的回答
Star Strider
2019-3-31
You are plotting a function of two variables, so you need to use a plot that accommodates them, and that your function is symbolic.
Try this:
syms a e
A = [besselj(0,-1i*a*e), bessely(0,-1i*a*e); ...
besselj(0,-1i*a), bessely(0,-1i*a)];
b = [-1; -1];
X = linsolve(A, b);
disp(X)
a = linspace(5,9);
e = linspace(0.05, 0.15);
fsurf(real(X), [5 9, 0.05 0.15])
xlabel('a')
ylabel('e')
Experiment to get the result you want.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Bessel functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!