matlab f(t)=50e^(-3t )*cos(5t),其中t的范围为(0.20]
时间: 2023-08-06 15:05:04 浏览: 37
您可以使用MATLAB中的ezplot函数来绘制这个函数。
以下是MATLAB代码示例:
```matlab
% 定义t的范围
t = 0:0.01:20;
% 定义函数
f = @(t) 50*exp(-3.*t).*cos(5.*t);
% 绘制函数图像
ezplot(f, [0, 20])
```
运行这段代码后,将会得到一个函数图像,其中x轴表示t的范围为0到20,y轴表示函数值。
相关问题
matlab高斯光通过T字母光孔
以下是使用MATLAB进行高斯光通过T字母光孔的模拟代码:
```
% 定义光学系统参数
lambda = 633e-9; % 波长
k = 2*pi/lambda; % 波数
f1 = 100e-3; % 透镜1焦距
f2 = 100e-3; % 透镜2焦距
d = 1e-3; % 光孔直径
L = 10e-2; % 像面尺寸
N = 512; % 像素数
dx = L/N; % 像素间距
% 定义高斯光束参数
w0 = 1e-3; % 光束半径
zR = pi*w0^2/lambda; % 焦距参数
z1 = 50e-3; % 透镜1位置
z2 = 50e-3; % 透镜2位置
% 生成高斯光束
x = linspace(-L/2,L/2,N);
[X,Y] = meshgrid(x);
r = sqrt(X.^2+Y.^2);
theta = atan2(Y,X);
wz = w0*sqrt(1+(z1+z2)^2/zR^2);
Rz = z1+z2+zR^2/(z1+z2);
phi = k*r.^2/2/Rz+atan((z1+z2)/zR);
Uin = exp(-r.^2/wz^2).*exp(-1i*phi);
Uin = Uin/sqrt(sum(sum(abs(Uin).^2))*dx^2); % 归一化
% 透过T字母光孔
mask = ones(N);
mask(abs(X)<d/2 & abs(Y)>d/2) = 0;
mask(abs(X)>d/2 & abs(Y)<d/2) = 0;
Uout = Uin.*mask;
% 透过两个透镜成像
U1 = Uout.*exp(1i*k*r.^2/2/f1);
U2 = fftshift(fft2(U1))*dx^2;
U3 = U2.*exp(1i*k*r.^2/2/f2);
U4 = ifft2(ifftshift(U3))*N*dx/sqrt(lambda*f2*f1);
I = abs(U4).^2;
% 显示结果
figure;
subplot(1,2,1);
imagesc(x,x,abs(Uin).^2);
axis square;
title('入射光');
subplot(1,2,2);
imagesc(x,x,I);
axis square;
title('成像结果');
```
该代码将生成一个高斯光束,通过T字母光孔,并通过两个透镜进行成像。最终结果将显示入射光和成像结果。
%% 远距离支援干扰仿真 dread=pi/180; %角度转弧度 radeg=180/pi; %弧度转角度 Pt=1000e3; %%雷达发射功率w Gt=40; %%雷达天线主瓣方向上的增益db Gt_coef=10^(Gt/10); Pj=2000; %%干扰机发射功率w Gj=20; %%干扰机天线主瓣方向上的增益db Gj_coef=10^(Gj/10); gamaj=0.5; %%干扰信号对雷达天线的极化损失 sigma=5; %%被掩护目标的雷达有效反射面积 H=8e3; %%干扰机的天线与雷达的高度差m h=8e3; %%被保护目标相对干扰机高度m Dj=300e3; %%干扰机的天线与雷达的水平距离m Kj=10; dfjddfr=2; %%△fj和△fr分别干扰信号和雷达接收机的中频带宽 theta_mid=5; k=0.1; A=sqrt((Pt*Gt_coef*sigma*Kj*dfjddfr)/(4*pi*Pj*Gj_coef*gamaj)); Ht=H-h; Dt0=zeros(1,360); for i=1:length(Dj) Rj=sqrt(Dj(i)^2+H^2); for theta=-179:1:180 if(0<=abs(theta)&&abs(theta)<=theta_mid/2) Dt0(:,theta+180)=sqrt(A*Rj-Ht^2); elseif(theta_mid/2<abs(theta)&& abs(theta)<=90) Dt0(:,theta+180)=sqrt((A*Rj/(sqrt(k)*theta_mid))*abs(theta)-Ht^2); else Dt0(:,theta+180)=sqrt(90*(A*Rj/(sqrt(k)*theta_mid))-Ht^2); end end figure theta=(-179:1:180)*dread; polarplot(theta,Dt0); rticks(50e3:50e3:200e3); rticklabels({'r = 50km','r = 100km','r = 150km'}) end sigma1=[5 10 20 30 40]; figure for i=1:length(sigma1) A=sqrt((Pt*Gt_coef*sigma1(i)*Kj*dfjddfr)/(4*pi*Pj*Gj_coef*gamaj)); Djj=(50:10:600)*1e3; Rmax=zeros(1,length(Djj)); for j=1:length(Djj) Rj=sqrt(Djj(j)^2+H^2); Rmax(:,j)=sqrt(90*(A*Rj/(sqrt(k)*theta_mid))-Ht^2); end scatter(Djj/1e3,Rmax/1e3); hold on end title('干扰机雷达水平距离与最大探测距离的关系'); xlabel('干扰机距雷达水平距离/km');ylabel('雷达最大探测距离/km') xlim([50,600]) legend('5','10','20','30','40') %%% fig 5 hh=0:0.2:8; Rmax1=zeros(1,length(hh)); for l=1:length(hh) Ht=H-hh(l)*1e3; Rmax1(:,l)=sqrt(90*(A*Rj/(sqrt(k)*theta_mid))-Ht^2); end figure scatter(hh,Rmax1/1e3)转换成C代码
#include <stdio.h>
#include <math.h>
#define PI 3.59265358979323846int main()
{
double dread = / 180; //度转弧度
double radeg 180 / PI; //弧度转角度 double Pt = 1000e3 //雷达发射率w
double Gt = 40; //雷达天线主瓣方向上的增益db
double Gt_coef = pow(10, Gt / 10);
double Pj = 2000; //干扰机发射功率w
double Gj = 20; //干扰机天线主瓣方向上的增益db
double Gj_coef = pow(10, Gj / 10);
double gamaj = 0.5; //干扰信号对雷达天线的极化损失
double sigma = 5; //被掩护目标的雷达有效反射面积
double H = 8e3; //干扰机的天线与雷达的高度差m
double h = 8e3; //被保护目标相对干扰机高度m
double Dj = 300e3; //干扰机的天线与雷达的水平距离m
double Kj = 10;
double dfjddfr = 2; //△fj和△fr分别干扰信号和雷达接收机的中频带宽
double theta_mid = 5;
double k = 0.1;
double A = sqrt((Pt * Gt_coef * sigma * Kj * dfjddfr) / (4 * PI * Pj * Gj_coef * gamaj));
double Ht = H - h;
double Dt0[360];
for (int i = 0; i < 360; i++)
{
double theta = (i - 179) * dread;
if (0 <= fabs(theta) && fabs(theta) <= theta_mid / 2)
{
Dt0[i] = sqrt(A * Rj - pow(Ht, 2));
}
else if (theta_mid / 2 < fabs(theta) && fabs(theta) <= 90)
{
Dt0[i] = sqrt((A * Rj / (sqrt(k) * theta_mid)) * fabs(theta) - pow(Ht, 2));
}
else
{
Dt0[i] = sqrt(90 * (A * Rj / (sqrt(k) * theta_mid)) - pow(Ht, 2));
}
}
for (int i = 0; i < 360; i++)
{
double theta = (i - 179) * dread;
printf("theta: %.2f, Dt0: %f\n", theta, Dt0[i]);
}
return 0;
}