我在MATLAB的表面,其使用以下代码绘制:
[xi, yi] = meshgrid(S/K, days);
vq = griddata(S/K, days, rbf/K, xi, yi,'natural');
mesh(xi,yi,vq)
所得到的图像是相当粗糙,并且有大量的网格线,因为在每个矢量大约200个数据点。 是否有可能绘制,其具有的网格点(例如,20),其平均出一个现有meshgrid,表面的GridData较小数目的网格?
我在MATLAB的表面,其使用以下代码绘制:
[xi, yi] = meshgrid(S/K, days);
vq = griddata(S/K, days, rbf/K, xi, yi,'natural');
mesh(xi,yi,vq)
所得到的图像是相当粗糙,并且有大量的网格线,因为在每个矢量大约200个数据点。 是否有可能绘制,其具有的网格点(例如,20),其平均出一个现有meshgrid,表面的GridData较小数目的网格?
一种选择是使用conv2
您vq
数据平滑,然后下采样为@Ander建议:
n = 5; % averaging size
vq_2 = conv2(vq, ones(n)/n.^2,'same');
mesh(xi(1:20:end,1:20,end),yi(1:20:end,1:20,end),vq_2(1:20:end,1:20,end))
会有一个比特的边缘效应,通过默认conv2
用零垫。