How do I fix this invalide expression error?
1 次查看(过去 30 天)
显示 更早的评论
I keep receiving this error with my code:
Here is my code, Line 5 is in the "%Define the function handles" section, specifically "bessel0".
N = 1 + randi(15); % define number of zeros to be found, [1 16]
r = zeros(N,2); % preallocate r vector
% Define the function handles.
bessel0 = @x besselj(0, x);
bessel1 = @x besselj(1, x);
% Set the arguments for FZERO.
options = optimset('Display','none','TolX',1e-8);
% Develop iterative scheme for finding first N zeros of J0
r(1, 1) = 0;
r(1, 2) = bessel0(0);
for k = 2:N
x0 = r(k-1, 1) + pi;
r(k, 1) = fzero(bessel0, x0, options);
r(k, 2) = bessel0(r(k, 1));
end
r = sortrows(r);
%%%%%%%%%%% Plot the function and the extrema %%%%%%%%%%.
% Define the x values.
%x = 0:0.1:30; % use this range when you are trying to get a sense of the problem
x = 0:0.1:r(N,1); % use this range when you want to see all your zeros
% make figure
figure; hold on; grid on;
plot(x,bessel0(x),'k')
plot(x,bessel1(x),'Color',[0.6350 0.0780 0.1840])
plot(r(:,1),r(:,2),'o','Color',[0 0.4470 0.7410])
plot(r(:,1),0*r(:,1),'x','Color',[0.4660 0.6740 0.1880])
axis([0 max(x) -1 1]);
legend('Bessel J of Order Zero','Bessel J of Order One','Extrema of Order Zero','Zeros of Order One')
0 个评论
回答(2 个)
Stephen23
2023-4-18
移动:Image Analyst
2023-4-21
bessel0 = @(x) besselj(0, x);
% ^ ^ missing parentheses
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!