Create a matrice in a for loop
1 view (last 30 days)
Hey guys, thanks in advance,
I have this moving radar, that detects targets in a specific area, identified by pixels(xtarget,ytarget).
In the end I have this distance_matrix, where rows are the distance to the target(R1-R2-Rd) and the columns are the position of the radar, since this radar is moving.
waypoints are the position of the radar, and it has, 400 positions(1:400 pixels). But the distance_matrix I have, saves the distances in 1 x 400, whic is correct, but if I have more than 1 target in each column(i), this code only saves one distance. I wanted that distance_matrix was a matrix that if column (i) had more that one distance to save, saved all the distances along that column. So imagine i=200, and in i there are 3 distances to save, so in i=200, distance_matrix should be 3x1 , and not 1x1 like I have, can you help me?
this image is a example when I run the code:
in waypoint=141, the radar detects target(100,325) and target(150,300), but when I go to distance_matrix, this has only one value of R1+R2-Rd, I want it to have two in this case
distance_matrix=zeros(1,length(waypoints)); % Define distance Signal matrix
R1_matrix=zeros(1,length(waypoints)); % Define distance Signal matrix
Rm_matrix=zeros(1,length(waypoints)); % Define distance Signal matrix
R2_matrix=zeros(1,length(waypoints)); % Define distance Signal matrix
for i=1:numel(waypoints) % For each waypoint
Y_transmitter = waypoints(i);
if AoI(xx,yy) ~= 0 % Target detection
if status ==1 & Pt ==1 & Pr ==1 & Wi_Surv ~=0 & Wi_transmit ~=0 % SAR Passive detection
R1=sqrt( (X_transmitter-X_target).^2 + (Y_transmitter-Y_target).^2); % Distance transmitter-target in meters
R2=sqrt( (X_receiver-X_target).^2 + (Y_receiver-Y_target).^2); % Distance Receiver-target in meters
Rd=sqrt( (X_receiverref-X_transmitter).^2 + (Y_receiverref-Y_transmitter).^2); % Distance Transmitter-Receiver in meters