私は地形データのマトリックスを持っています、それは大きなものです。陸のデータをNaNに置き換えましたが、海の深さのデータは正です(以下に小さなサンプルを見ることができます)
b= [
NaN NaN NaN NaN
4 NaN NaN NaN
19 14 NaN NaN
21 18 14 NaN
24 17 NaN NaN
40 13 NaN NaN
154 26 NaN NaN
232 44 NaN NaN
500 200 100 NaN
200 100 200 NaN
NaN NaN NaN NaN
];
沿岸細胞を取得したい。(1,1)(2,2)(3,3)(4,4)(5,3)(6,3)(7,3)(8,3)(9,4) (10,4)(11,3)(11,2)(11,1)これにより、単一の線の輪郭を海岸線としてプロットできます。
この投稿MATLABを読みましたが、各ステップを変更しているマトリックス内の境界線をトレースするための最良の方法は何ですか? しかし、それを使って希望の海岸線を得ることができませんでした。また、次のようにスクリプトを記述しますが、目盛り(2または3セル)の行といくつかの切れ目が返されます。
b(~isnan(b))=9; % sea cells will be 9
b(isnan(b))=98672; % land cells will be 98672
for i=1:255
for j=2:119
if b(i,j)==9
if ((b(i,j-1)==98672)||(b(i,j+1)==98672))
b(i,j-1)=333; % 333 will be the coastline
end
if ((b(i-1,j)==98672)||(b(i+1,j)==98672))
b(i,j-1)=333;
end
end
end
end
b(b==98672)=NaN;
b(b==9)=0.001;
pcolor(b);shading flat
海岸の島またはV字型のポイントで発生する休憩。
手伝ってくれませんか?私にもメールしてください。apt.man@gmail.com