Creating an associated value for an array based upon its position in another matrix

1 view (last 30 days)
What I am trying to do is associate the y1 value with an SSP(:,2) value depending upon its relationship to SSP(:,1) 's depth.
y1i = 0:-1:-200 ; %a list of depths
SSP(:,1) = 0:-5:-200 ; %is a list of depths, referred to 'depths' below.
depths = SSP(:,1) ;
SSP(:,2) = linspace(1500,1480,41) ; %is a list of speeds, reffered to 'c' below.
c = SSP(:,2) ;
j = numel(depths) ;
k = numel(y1i) ;
for m = 1:k ;
for n = 1:(j-1) ;
y1i(m) <= depths(n) & y1i(m) > depths(n+1) ;
c1(m) = c(n) ;
end
end
I will be grateful for any advice that is given.
Thank you

Accepted Answer

Raunak Gupta
Raunak Gupta on 6 Dec 2019
Hi,
I think the command below should be a conditional statement something like if .
y1i(m) <= depths(n) & y1i(m) > depths(n+1) ;
Also, I see c1 in the code is not initialized. Since it is changing size every iteration if it is not declared. Although this is not the error you might be facing but it is good practice to initialize the array beforehand.
  1 Comment
William Dickie
William Dickie on 9 Dec 2019
Hi, you are right, it needed the 'if' command.
I also, had to separate the <= for some reason, it kept registering as an error.
Thank you for your assistance.

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!