How do I plot 3-dimentional graph of the following function? Can Plot3 function do this?

 採用された回答

Walter Roberson
Walter Roberson 2015 年 10 月 9 日
fun = @(x,y)100*(y-x.^2).^2 + (1-x).^2;
x = linspace(-10,10);
y = linspace(-50,-30);
plot3d(x, y, fun(x,y))

3 件のコメント

Shawn Miller
Shawn Miller 2015 年 10 月 9 日
Thanks Walter, it works, however, the graph is plotted only on a single line from (-10,-50) through (10,-30) (please see below, where I also label the axises and switch the grid on). So basically the result turns out to be a single parabola rather than a surface.
But do you know how to plot on an area of x and y axis, which is what I really want to get. And it should be like this...
Steven Lord
Steven Lord 2015 年 10 月 9 日
Your function is defined in such a way that you can pass x and y matrices, not just vectors or scalars, into it. Because of that take a look at the MESHGRID function to generate the data points at which you evaluate and plot your function.
Shawn Miller
Shawn Miller 2015 年 10 月 10 日
Thanks Steven, you're right. Also thanks to Walter.

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

その他の回答 (0 件)

カテゴリ

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by