Reading values across an array

1 view (last 30 days)
I am trying to run an ecosystem model for the surface ocean which is forced by entrainment and detrainment of materials by the monthly changes of the Mixed Layer Depth (MLD). I have.....
MLD = [125;160;196;50;28;23;19;24;29;48;60;100]
.......for the 12 months of the year. I am planning to use an if statement to find the new concentration of the element after the entrainment/detrainment. For an example, I want to say....
if MLD(i+1) > MLD (i)
use the entrainment equation
Else if
use the detrainment equation
Nevertheless, I am not sure I know how to restructure my MLD array so that matlab can identifiy what is the (i)th value and what is the (i+1)th value at each step. I would be so grateful if anybody can help me sort this out.
Thank you so much in advance.

Accepted Answer

Scott MacKenzie
Scott MacKenzie on 5 Jul 2021
The position of each element in an array is the element's index. The element can be retrieved for operations, such as relational comparisons as in your example, by using the index in parentheses after the name of the array. I suggest you review Array Indexing for further details and examples.
For your problem, here's how to set things up using a for-loop:
MLD = [125;160;196;50;28;23;19;24;29;48;60;100];
for i=2:length(MLD)
if MLD(i) > MLD(i-1)
% use entrainment equation here
else
% use detrainment equation here
end
end
  1 Comment
Amavi Silva
Amavi Silva on 7 Jul 2021
Thank you so much. It did work!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by