MATLAB中,如何将一行数据中的0的部分,利用线性插值进行补全?

进行二维数据处理的过程中
发现数据每一行都由随机位置的部分连续出现0,有的行不止一处有0存在。
想用matlab或者c++对这数据进行处理,让整个二维数据不存在0的情况。
请大神指点

识别到有0存在的时候,将其前后上下数据取平均。
for i=1:max
for j=1:max
if a[i,j]==0
a[i,j]=average(a[i-1,j],a[i+1,j],a[i,j-1],a[i,j+1]);
end
end