J(x)= 1 /π积分cos(xsintheta)。限制从0到π。
将J(2pid /λ)绘制为MATLAB中d /λ的函数,d /λ介于其间 分离的距离(波长)是多少 天线0.7,0?
之间的相关性当我定义syms theta并使用时,我不明白如何将它集成到matlab中 J_ =积分(J,0,PI);出现错误。第二,当我手动整合它时,答案显示为0.请帮助我。
答案 0 :(得分:1)
除非你真的需要手动计算,否则你应该使用Matlab的内置besselj
函数来计算第零阶Bessel function of the first kind:
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))
答案 1 :(得分:0)
integral
命令不适用于syms,它适用于函数。对于符号集成,命令为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)