標籤:

Tools(002)基於插值的曲面優化顯示

Tools(002)基於插值的曲面優化顯示

來自專欄也是從零開始的Matlab編程15 人贊了文章

  • 所有代碼2017a測試通過,只支持2014b以後版本。
  • 歡迎投稿此專欄,每周六左右更新。
  • 歡迎規範轉載。(轉載請私信溝通,謝謝)

終於在6月的最後一天掙扎著來更新了,一些事情終於結束了,也有一些事情也將開始,好好生活,加油!

想了想還是更新Tools系列吧,今天算是報個到先。

1,利用插值優化曲面顯示

這個數據是Matlab算例中經常會出現的peaks生成的。

% surf data[X,Y] = meshgrid(-3:1:3);V = peaks(X,Y);% figure & axesfig1 = figure();ax1 = axes(fig1);% surfacepeakSurf1 = surf(ax1,X,Y,V);% settingax1.Title.String = 原始曲面;ax1.View = [45, 45];

利用線性插值增加數據密度,顯示並不理想不過很接近原始顯示。

% linear interp[Xq2,Yq2] = meshgrid(-3:0.1:3);Vq2 = interp2(X,Y,V,Xq2,Yq2,linear);% figure & axesfig2 = figure();ax2 = axes(fig2);% surfacepeakSurf2 = surf(ax2,Xq2,Yq2,Vq2);% settingax2.Title.String = 線性插值曲面;ax2.View = [45, 45];

同理,對比cubic擬合的數據,數據顯示明顯好於原有的線性插值

% cubic interp[Xq3,Yq3] = meshgrid(-3:0.1:3);Vq3 = interp2(X,Y,V,Xq3,Yq3,cubic);% figure & axesfig3 = figure();ax3 = axes(fig3);% surfaceax3.Title.String = cubic插值曲面;peakSurf3 = surf(ax3,Xq3,Yq3,Vq3);% settingax3.Title.String = cubic插值曲面;ax3.View = [45, 45];

2,利用surf自帶的曲面光滑和counter3增強顯示

% cubic interp[Xq4,Yq4] = meshgrid(-3:0.1:3);Vq4 = interp2(X,Y,V,Xq4,Yq4,cubic);% figure & axesfig4 = figure();ax4 = axes(fig4);hold on% surfacepeakSurf4 = surf(ax4,Xq4,Yq4,Vq4);contour3(ax4,Xq4,Yq4,Vq4,-k); %遺憾的是counter3貌似官方並沒有用類實現% settingax4.Title.String = cubic插值曲面;ax4.View = [45, 45];peakSurf4.EdgeColor = none;

peakSurf4.FaceColor = interp;


推薦閱讀:

實拍民國「夫妻照」,一妻十二妾,妾只是男子解決欲求的工具
雜談 8款寓教於樂 可供英詩寫作的手機、平板軟體
平派八字鏈—平派八字鐵索秘—平派命理過三關的秘密工具
一張圖讓你30分鐘變研發高手 茶飲製作有了神秘工具

TAG:MATLAB | 工具 |