フィルターのクリア

How to I plot 3D level surfaces of this 4D function?

14 ビュー (過去 30 日間)
Jessica Peterson
Jessica Peterson 2019 年 11 月 13 日
コメント済み: Walter Roberson 2019 年 11 月 13 日
I have the following function. I wish to plot the 3D surface of the function when density equals 100000, 80000, 60000, 40000. I am unsure how to plot a function of 3 variables. Thanks
density= @(x,y,z)10.^5 -24000.*z + 10.^4.*sech((0.75.*x-1.5).^2+(y-1).^2)

回答 (1 件)

Walter Roberson
Walter Roberson 2019 年 11 月 13 日
Use ndgrid or meshgrid to create a 3D grid of x, y, z locations, and evaluate the function at those points . Suppose we call the result D .
Now use
arrayfun(@(LEVEL) isosurface(x, y, z, D, LEVEL), [100000, 80000, 60000, 40000]);
It is not possible to pass multiple levels to isosurface() in one call.
  4 件のコメント
Jessica Peterson
Jessica Peterson 2019 年 11 月 13 日
That creates a 2D plot of a rectangle. I am trying to make a 3D plot.
Walter Roberson
Walter Roberson 2019 年 11 月 13 日
Grab the plot with your cursor and rotate it. Or give the command
view(3)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by