matlab smoothing data problem

조회 수: 3 (최근 30일)
peter huang
peter huang 2023년 11월 6일
댓글: Mathieu NOE 2023년 11월 8일
Hello matlab users
I have a 2-dimensional water depth data. When the value is negative, it is land (make_bathy)
I need to linearly smooth the relationship between land and water to prevent the difference in water depth from being too large.
As shown in plot_bathy.m (read the file in QA.zip)
Thanks in advance

채택된 답변

Mathieu NOE
Mathieu NOE 2023년 11월 6일
hello
I am not sure to understand your plot and where the transition land / water can be seen
nevertheless , if you need to smooth a 2D surface , I like the two following Fex submissions
code
clear all
dep=load('dep_shoal_inlet.txt');
[n,m]=size(dep);
dx=2.0;
dy=2.0;
x=[0:m-1]*dx;
y=[0:n-1]*dy;
x_sponge=[0 180 180 0 0];
y_sponge=[0 0 y(end) y(end) 0];
x_wavemaker=[240 260 260 240 240];
y_wavemaker=[0 0 y(end) y(end) 0];
wid=5;
len=6;
set(gcf,'units','inches','paperunits','inches','papersize', [wid len],'position',[1 1 wid len],'paperposition',[0 0 wid len]);
clf
figure(1),
pcolor(x,y,-dep),shading flat
cbar=colorbar;
set(get(cbar,'ylabel'),'String',' -dep (m) ')
hold on
plot(x_sponge,y_sponge,'g--','LineWidth',2)
text(10,1000,'Sponge','Color','g')
plot(x_wavemaker,y_wavemaker,'w-','LineWidth',2)
text(270,1200,'Wavemaker','Color','w')
caxis([-10 3])
xlabel('x (m)')
ylabel('y (m)')
% print -djpeg inlet_shoal.jpg
% smoothn : Fex : https://fr.mathworks.com/matlabcentral/fileexchange/25634-smoothn?s_tid=ta_fx_results
deps = smoothn(dep,1e5);
figure(2),
pcolor(x,y,-deps),shading flat
% smooth2a : Fex : https://fr.mathworks.com/matlabcentral/fileexchange/23287-smooth2a?s_tid=srchtitle
deps2 = smooth2a(dep,25,25);
figure(3),
pcolor(x,y,-deps2),shading flat
  댓글 수: 4
peter huang
peter huang 2023년 11월 7일
Thank you so much
Mathieu NOE
Mathieu NOE 2023년 11월 8일
as always, my pleasure !

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Purple에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by