Hi Rafael, You can try to use lsq_splin along the axes x and y. It seems to work on the following example:
x = %pi * [-1:0.05:1]'; z = sin(x)*cos(x)'; f = gcf(); f.color_map = jetcolormap(32); subplot(131); xtitle("Exact values"); plot3d(x, x, z, 70, 70); e=gce(); e.color_flag = 1; z = z + 0.5*rand(z); z(10,10)=5; z(30,20)=5; z(10,40)=5; subplot(132); xtitle("Perturbated values"); plot3d(x, x, z, 70, 70); e=gce(); e.color_flag = 1; zz=zeros(z); w=linspace(-%pi,%pi,5)'; for i=1:size(z,'r') [y,d]=lsq_splin(x', z(i,:), w); zz(i,:)=interp(x', w, y, d); end for i=1:size(zz,'c') [y,d]=lsq_splin(x, zz(:,i), w); zz(:,i)=interp(x, w, y, d); end subplot(133); xtitle("Smoothed values"); plot3d(x, x, zz, 70, 70); e=gce(); e.color_flag = 1; Best regards Calixte On 04/03/2013 04:36, Rafael Guerra wrote:
Hello, Does somebody know if there are Scilab functions capable of replacing outliers via some local robust fitting in 2D, i.e., that smooths experimental data z=f(x,y) and is immune to strong outliers. PS: CASCI in Atoms has a lowess function which does this via local robust linear fitting but for functions of one variable only. Thanks and regards, Rafael Guerra -- View this message in context: http://mailinglists.scilab.org/Surface-smoothing-in-Scilab-immune-to-outliers-tp4026119.html Sent from the Scilab users - Mailing Lists Archives mailing list archive at Nabble.com. _______________________________________________ users mailing list users@lists.scilab.org http://lists.scilab.org/mailman/listinfo/users
-- Calixte Denizet Software Development Engineer ----------------------------------------------------------- Scilab Enterprises 143bis rue Yves Le Coz - 78000 Versailles, France http://www.scilab-enterprises.com _______________________________________________ users mailing list users@lists.scilab.org http://lists.scilab.org/mailman/listinfo/users