二、目标坐标
三维的目标,坐标也是三维的(x,y,z);
三、仿真反射系数设置
编写三维矩阵用来存放目标的反射系数;
四、距离求解
R=sqrt((X-x)^2+(Y-y)^2+(0-z)^2);
请问这个距离R,代码是怎么实现的呢?
是否方便交流一下?
二、目标坐标
三维的目标,坐标也是三维的(x,y,z);
三、仿真反射系数设置
编写三维矩阵用来存放目标的反射系数;
四、距离求解
R=sqrt((X-x)^2+(Y-y)^2+(0-z)^2);
请问这个距离R,代码是怎么实现的呢?
是否方便交流一下?
你的这个矩阵平方计算没有加“.”,说明这个是因三个for循环写的!这样写的很麻烦,可以利用repmat()函数进行扩展,将矩阵大小扩展到一致就可以了。
clear;close all;clc;
xyz = [0 0 0]; % x y z 坐标
X1 = 1:0.01:9;
Y1 = -9:0.01:0;
Z1 = -5:0.1:5;
X_len = length(X1); % X1 长度
Y_len = length(Y1); % Y1 长度
Z_len = length(Z1); % Z1 长度
R = zeros(X_len,Y_len,Z_len); % 建立三维空矩阵,用于存放结果
% 扩展矩阵
X = repmat(X1',1,Y_len); % 将X1 扩展成X_lenY_len大小的二维矩阵
Y = repmat(Y1 ,X_len,1); % 将Y1 扩展成X_lenY_len大小的二维矩阵
Z =Z1;
for index = 1:Z_len % 高度向循环
R(:,:,index)=sqrt((X-xyz(1)).^2+(Y-xyz(2)).^2+(Z(index)-xyz(3))^2);
end