細かいgriddataを荒いgriddataに直す方法
Mostrar comentarios más antiguos
緯度・経度ごとのgriddata(海面水温)があります(sizeは4500×3251の配列です)。
これを,緯度(2°間隔)・経度(5°間隔)の分解能へ粗くして,sizeを90×72の配列にしたいです。
代表となる緯度(2°間隔)・経度(5°間隔)のdataを中心として,その周辺のデータの代表値(平均値)として取り出したいです。
その際に,interp2がいいのか,それとも別な方法があるのか知りたいです。
よろしくお願いいたします。
Respuestas (1)
Hernia Baby
el 7 de Abr. de 2022
0 votos
参考になる回答がこちらにありますので、こちら試していただくことをオススメします。
4 comentarios
Hiroki Takeda
el 8 de Abr. de 2022
ちょっと思ったのですが、
3251が素数なのでどのように分割すればいいかわからないです
とりあえずやり方のみ書きます
-----
データを作ります
clc,clear;
n = 4500;
m = 3251;
data = reshape(1:n*m,n,[])
区画を決めます
n1 = 90;
m1 = 72;
何分割にするか決めます
step = round([n m]./[n1 m1]);
cellに格納します
for ii = 1:n1
for jj = 1:m1
A{ii,jj} = data(step(1)*(ii-1)+1:step(1)*ii,step(2)*(jj-1)+1:step(2)*jj);
end
end
各区画で平均を取ります
B = cellfun(@(x) mean(x,["all"]),A)
-----
ここで問題になるのが、3251は72で割り切れないことです
つまり『あまりの列』が存在し、それらは切り捨てられます
(data(1,end)-A{1,end}(1,end))/n
11列分のデータが切り捨てられてしまいます
Hiroki Takeda
el 12 de Abr. de 2022
Hernia Baby
el 12 de Abr. de 2022
Editada: Hernia Baby
el 12 de Abr. de 2022
Categorías
Más información sobre 大規模なイメージ ファイル en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!