Your arguments to the the bessel functions are numeric, so you are using the numeric bessel functions and getting numeric answers. diff() applied to a numeric vector is the difference function (not differentiation) and results in a vector that is one shorter than the original. You then attempt to plot the original-length omega vector against the one-shorter difference vector.
evaluate bessel with plot
1 次查看(过去 30 天)
显示 更早的评论
Hi, i wonder if anyone can help on why i receive this error "??? Error using ==> plot Vectors must be the same lengths"
I want to plot a function of combination of differentiation of bessel.
m=0; k=0; omega=0:0.02:10;
a = besselj(m,omega);
da = diff(a);
b = bessely(k,omega);
db = diff(b);
c = besselj(m,omega);
dc = diff(c);
d = bessely(k,omega);
dd = diff(d);
g=da.*dd-dc.*db;
plot(omega,g);
hold all;
plot(omega,0,'k');
axis([min(omega) max(omega) -100 100]);
thanks so much
0 个评论
采纳的回答
更多回答(1 个)
另请参阅
类别
在 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!