I have a problem with plugging values into array variable

1 view (last 30 days)
Hey everyone.
im trying to get values of a certain variable for 24 hours. i have latitude, longitude, height and time.
my latitude and longitude values are floats (number with decimal, e.g, 34.6796000000000,34.7128980000000,34.7462010000000,34.7794990000000
And the class of the variables that stores them (seperately, i have longitude var and latitude var) is "double"
im trying to plug these into a variable that is an array with 4 dimensions.
variable name is pm25_var(lon,lat,height,time) ("4D-single")
when im trying to plug certain coordinates like this:
firstday = pm25_var(Longitude(25),Latitude(114),1,1:24);
when 25 and 114 are the indexes of the values i want
i get this:
"Index in position 1 is invalid. Array indices must be positive integers or logical values."
how can i use the exact coordinates without rounding it into an integer?
thanks in advance

Accepted Answer

Stephen23
Stephen23 on 29 Jul 2023
firstday = pm25_var(25,114,1,1:24);
  2 Comments
Ilay Green
Ilay Green on 30 Jul 2023
thanks! the answer I get looks like this, so i wondered if it did take the relevant coordinates:
val(:,:,1,15) =
36.6845
Thank you :)
Walter Roberson
Walter Roberson on 30 Jul 2023
Remember that MATLAB only automatically collapses trailing dimensions, so when you index a variable at (scalar, scalar, scalar, vector) then the result you get out is going to be 4 dimensional with the first 3 dimensions all singular.
See also squeeze and reshape and permute

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!