Remove a "plane" from my 3d plot
古いコメントを表示
When I plot the surface it results into the surface itself but there is something weird in the middle of the surface, I mean it's kind like it is in the xy plane, I do not know how to remove it, here is my code:
clear
figure, hold on
[x,y]=meshgrid(-50:50)
xlabel ("x");
ylabel ("y");
zlabel ("z")
z=sqrt(9*(y.^2)-9*(x.^2))
w=-sqrt(9*(y.^2)-9*(x.^2))
surf(x,y,real(z))
surf(x,y,real(w))
zlim([-150,150])

3 件のコメント
Ravi Narasimhan
2021 年 10 月 14 日
編集済み: Ravi Narasimhan
2021 年 10 月 14 日
If x^2 > y^2, won't the real part of your square root be 0?
davidcu
2021 年 10 月 14 日
Ravi Narasimhan
2021 年 10 月 14 日
編集済み: Ravi Narasimhan
2021 年 10 月 14 日
You could perhaps set any value of real(z) or real(w) = 0 to NaN (Not a Number) using the find function. Those items wouldn't display on the surface plot, leaving a space between the top and bottom halves. It would look like
z(find(real(z) == 0)) = NaN;
The find function returns the indices where real(z) == 0 and the z(find(...)) = NaN sets those positions in the z array to NaN
You'd tweak it accordingly for w.
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
