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

采纳的回答

Walter Roberson
Walter Roberson 2012-7-4
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.

更多回答(1 个)

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by