J(x)= 1/π 积分 cos(xsintheta)。限制是从 0 到 π。
在 MATLAB 中将 J(2pid/λ) 绘制为 d/λ 的函数,d/λ 介于 0 和 2 之间。天线 0.7 和 0 之间的相关性在多少距离(波长)处?
当我定义 syms theta 并使用 J_=integral(J,0,pi); 时,我不明白如何将它集成到 matlab 中。出现错误。其次,当我手动集成它时,答案显示为 0。请帮助我。
J(x)= 1/π 积分 cos(xsintheta)。限制是从 0 到 π。
在 MATLAB 中将 J(2pid/λ) 绘制为 d/λ 的函数,d/λ 介于 0 和 2 之间。天线 0.7 和 0 之间的相关性在多少距离(波长)处?
当我定义 syms theta 并使用 J_=integral(J,0,pi); 时,我不明白如何将它集成到 matlab 中。出现错误。其次,当我手动集成它时,答案显示为 0。请帮助我。
除非你真的需要手动计算,否则你应该使用 Matlab 的内置besselj
函数来计算第一类的零阶贝塞尔函数:
dlam = 0:0.01:2;
x = 2*pi*dlam;
y = besselj(0,x)
figure;
plot(x,y)
这将更快、更准确地执行正交。
如果您希望高度准确地确定或所在的点,而y
不是从绘图中读取它们,您可以将符号数学与和结合使用。假设这是问题的那一部分(我对天线一无所知),您可以使用以下内容:0.7
0
solve
sym/besselj
syms x;
double(solve(besselj(0,x) == 0.7,x))
该integral
命令不适用于符号,它适用于函数。对于符号积分,命令是int
.
我现在手头没有 MATLAB 来检查拼写错误等,但是这样的东西应该可以工作:
x = 0.1;
integral(@(theta) cos(x.*sin(theta)), 0, pi)/pi
甚至
bessel = @(x) integral(@(theta) cos(x.*sin(theta)), 0, pi)/pi;
bessel(0.1)