在for循环中赋值时发生异常:DOUBLE无法将输入表达式转换为double数组

时间:2016-11-06 07:03:26

标签: matlab

我试图找到这个简单的for循环问题的答案,但我找不到任何教程。 我运行了gen_R(16,0.0832),当m = 1,p = 16时会发生异常。 但是,我运行了gen_R(16,0.5),一切正常。 我真的很好奇这个原因。

我的脚本内容如下:

function [U,D]= gen_R(num_antenna,theta)

AS=pi/180*8;
frequency=20*10^9;
lamda=3*10^8/frequency;
R=zeros(num_antenna);
syms x;
for m=1:1:num_antenna
    for p=1:1:num_antenna
        d=abs(m-p);

        R(m,p)=(1/(2*AS))*int(exp(-1i*2*pi*d*sin(x+theta)/lamda),-1*AS,AS);
    end
end
[U,D]=eig(R);

end

非常感谢任何帮助。 提前谢谢!

0 个答案:

没有答案