Subtracting within only 1 dimension of a multidimensional array

5 次查看(过去 30 天)
Question: I have a gridded array. Example:
airMetGrid <90x180x40542> single
but my air temp is in kelvin, so I need to subtract 273.15 from ONLY the 3rd dimension (and not mess up my grid). How do I do this? It seems simple but I can't wrap my brain around it today.
Thanks

采纳的回答

Matt J
Matt J 2013-7-8
编辑:Matt J 2013-7-8
Since 273.15 is a scalar, there is no apparent difference between subtracting it from the 3rd dimension and subtracting it from the entire array.
inCelsius = airMetGrid-273.15;
  2 个评论
Matt J
Matt J 2013-7-8
编辑:Matt J 2013-7-8
Conversely, if you have a length-40542 vector, v, and want to subtract it from every airMetGrid(i,j,:), you could do
newdata=bsxfun(@minus, airMetGrid, reshape(v,1,1,[]) );

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by