n=input('阵元个数:')
f=3e8;
lamda=2*pi/f;
d=lamda/2;
L=n*d;
theta=linspace(0,pi,500);
x=L/lamda*cos(theta);
r1=input('要求所有副瓣归一化最大值R0(DB):')
R0=10^(abs(r1)/20);
A=acosh(R0)/pi; %****** A为公式推导中和主瓣电平有关的常量
n_1=round(2*A^2+1/2); %****** n_1必须大于2*A^2+1/2
%********** 判断想控制的旁瓣数是否满足条件 ***********%
n_2=input('想控制第几对零点:')
if n_2>=n_1&abs(n_2-round(n_2))==0 %判断输入是否正确
n_1=n_2
elseif abs(n_2-round(n_2))<1&abs(n_2-round(n_2))>0
errordlg('输入错误','Data message');
elseif n_2<n_1
errordlg('数太小了','Data message');
end
gama=n_1/(sqrt(A^2+(n_1-1/2)^2)); %******** 展宽因子,用于计算半功率波瓣宽度
%******** 根据公式求泰勒方向图的各个根
t=A^2+(n_1-1/2)^2;
for i=1:n_1-1;%正的各根n<=n_1-1
a_n1(i)=n_1*sqrt((A^2+(i-1/2)^2)/(A^2+(n_1-1/2)^2));
end
a_n=a_n1.^2; %********* Xn根的平方,利于方程的计算
%********* a_n即为各个根的向量
%******** 构造公式中(1-X^2/Xn)
for j=1:n_1-1;
i=1:length(theta)
t1(j,i)=(1-x(i).^2./a_n(j))./(1-x(i).^2/j^2);
end
t1=prod(t1); %%%% prod()为连乘(1*500)的向量
%********* 归一化方向图函数 *********%
for i=1:length(theta)
G(i)=cosh(pi*A)*sin(pi.*x(i))./x(i)/pi.*t1(i);
end
g=G/max(G);
%******** ********%
g=20*log10(abs(g));
hold on
figure(1)
%********* 拟合,区别其他几个综合法(蓝色三角形)
theta=theta/pi*180;
theta2=linspace(0,pi,40);
theta2=theta2/pi*180'
g2=interp1(theta,g,theta2);
plot(theta,g,theta2,g2,'b^')
grid on
axis([0 180 -55 0]);
%***** 分奇偶讨论电流激励分布 *********%
if mod(n,2)==0 %******* 阵元个数为偶数个 *******%
for i=1:n_1-1;
j=1:n_1-1;
s1(j,i)=1-(i^2./a_n(j));
end
s2=prod(s1);
for i=1:n_1-1;
%******* 利用第二个利于编程的归一化方向图函数 *****%
s3(i)=(factorial(n_1-1))^2/(factorial(n_1-1+i))/(factorial(n_1-1-i)).*s2(i);
end
for i=1:n_1-1;
j=0:n/2-1;
In(i,j+1)=2*s3(i).*cos(i*pi*(2*j+1)/n);
end
In2=1.+sum(In);
In3=rot90(In2,2); %******* 翻转In2 但是要去掉公共的元素
for i=2:length(In2)
In5(i-1)=In2(i); %******* 去掉i=0的元素
end
In4=[In3 In5]
hold on
figure(2)
plot(In4/max(In2),'-bs');
grid on
else %********** 阵元个数为奇数 %
for i=1:n_1-1;
j=1:n_1-1;
s1(j,i)=1-(i^2./a_n(j));
end
s2=prod(s1);
for i=1:n_1-1;
s3(i)=(factorial(n_1-1))^2/(factorial(n_1-1+i))/(factorial(n_1-1-i)).*s2(i);
end
for i=1:n_1-1;
j=0:(n-1)/2;
In(i,j+1)=2*s3(i).*cos(i*pi*2*j/n);
end
In2=1.+sum(In);
In3=rot90(In2,2);
for i=2:length(In2)
In5(i-1)=In2(i); %
end
In4=[In3,In5]
% 激励分布图
hold on
figure(2)
plot(In4/max(In2),'-bs');
grid on
end
Bw=2*asin(lamda*gama/pi/L*((acosh(R0))^2-(acosh(R0/sqrt(2)))^2)^(1/2));
disp(['半功率宽度=(°)',num2str(Bw/pi*180)]);
哪个画的是方向图,画的两个图是什么图,求解
f=3e8;
lamda=2*pi/f;
d=lamda/2;
L=n*d;
theta=linspace(0,pi,500);
x=L/lamda*cos(theta);
r1=input('要求所有副瓣归一化最大值R0(DB):')
R0=10^(abs(r1)/20);
A=acosh(R0)/pi; %****** A为公式推导中和主瓣电平有关的常量
n_1=round(2*A^2+1/2); %****** n_1必须大于2*A^2+1/2
%********** 判断想控制的旁瓣数是否满足条件 ***********%
n_2=input('想控制第几对零点:')
if n_2>=n_1&abs(n_2-round(n_2))==0 %判断输入是否正确
n_1=n_2
elseif abs(n_2-round(n_2))<1&abs(n_2-round(n_2))>0
errordlg('输入错误','Data message');
elseif n_2<n_1
errordlg('数太小了','Data message');
end
gama=n_1/(sqrt(A^2+(n_1-1/2)^2)); %******** 展宽因子,用于计算半功率波瓣宽度
%******** 根据公式求泰勒方向图的各个根
t=A^2+(n_1-1/2)^2;
for i=1:n_1-1;%正的各根n<=n_1-1
a_n1(i)=n_1*sqrt((A^2+(i-1/2)^2)/(A^2+(n_1-1/2)^2));
end
a_n=a_n1.^2; %********* Xn根的平方,利于方程的计算
%********* a_n即为各个根的向量
%******** 构造公式中(1-X^2/Xn)
for j=1:n_1-1;
i=1:length(theta)
t1(j,i)=(1-x(i).^2./a_n(j))./(1-x(i).^2/j^2);
end
t1=prod(t1); %%%% prod()为连乘(1*500)的向量
%********* 归一化方向图函数 *********%
for i=1:length(theta)
G(i)=cosh(pi*A)*sin(pi.*x(i))./x(i)/pi.*t1(i);
end
g=G/max(G);
%******** ********%
g=20*log10(abs(g));
hold on
figure(1)
%********* 拟合,区别其他几个综合法(蓝色三角形)
theta=theta/pi*180;
theta2=linspace(0,pi,40);
theta2=theta2/pi*180'
g2=interp1(theta,g,theta2);
plot(theta,g,theta2,g2,'b^')
grid on
axis([0 180 -55 0]);
%***** 分奇偶讨论电流激励分布 *********%
if mod(n,2)==0 %******* 阵元个数为偶数个 *******%
for i=1:n_1-1;
j=1:n_1-1;
s1(j,i)=1-(i^2./a_n(j));
end
s2=prod(s1);
for i=1:n_1-1;
%******* 利用第二个利于编程的归一化方向图函数 *****%
s3(i)=(factorial(n_1-1))^2/(factorial(n_1-1+i))/(factorial(n_1-1-i)).*s2(i);
end
for i=1:n_1-1;
j=0:n/2-1;
In(i,j+1)=2*s3(i).*cos(i*pi*(2*j+1)/n);
end
In2=1.+sum(In);
In3=rot90(In2,2); %******* 翻转In2 但是要去掉公共的元素
for i=2:length(In2)
In5(i-1)=In2(i); %******* 去掉i=0的元素
end
In4=[In3 In5]
hold on
figure(2)
plot(In4/max(In2),'-bs');
grid on
else %********** 阵元个数为奇数 %
for i=1:n_1-1;
j=1:n_1-1;
s1(j,i)=1-(i^2./a_n(j));
end
s2=prod(s1);
for i=1:n_1-1;
s3(i)=(factorial(n_1-1))^2/(factorial(n_1-1+i))/(factorial(n_1-1-i)).*s2(i);
end
for i=1:n_1-1;
j=0:(n-1)/2;
In(i,j+1)=2*s3(i).*cos(i*pi*2*j/n);
end
In2=1.+sum(In);
In3=rot90(In2,2);
for i=2:length(In2)
In5(i-1)=In2(i); %
end
In4=[In3,In5]
% 激励分布图
hold on
figure(2)
plot(In4/max(In2),'-bs');
grid on
end
Bw=2*asin(lamda*gama/pi/L*((acosh(R0))^2-(acosh(R0/sqrt(2)))^2)^(1/2));
disp(['半功率宽度=(°)',num2str(Bw/pi*180)]);
哪个画的是方向图,画的两个图是什么图,求解







在matlab中 编程语言怎么写,那些Sago Dapo什么的就用