I have a problem with plugging values into array variable

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Stephen23
Stephen23 il 29 Lug 2023
firstday = pm25_var(25,114,1,1:24);
  2 Commenti
Ilay Green
Ilay Green il 30 Lug 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 il 30 Lug 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

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by