[英]L1 norm contour plot in matlab
我試圖在matlab中繪制L1范數的水平集。 但它根本不起作用,我被卡住了。 有幫助嗎?
x = linspace(-1,1,10);
y = linspace(-1,1,10);
[xm,ym] = meshgrid(x,y);
z = sum(abs(xm-ym));
surfc(x,y,z)
z = abs(xm)+abs(ym);
您可以使用bsxfun
更有效地執行此bsxfun
以避免生成矩陣xm
, ym
:
x = linspace(-1,1,10);
y = linspace(-1,1,10);
z = bsxfun(@plus, abs(x), abs(y).');
surfc(x,y,z)
這兩種方法中的任何一種都會產生:
為了獲得更好的圖像,您應該增加采樣,並可能刪除表面邊緣:
x = linspace(-1,1,100);
y = linspace(-1,1,100);
z = bsxfun(@plus, abs(x), abs(y).');
surfc(x,y,z,'edgecolor','none')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.