How do I get a surface graph of my function f(x,y)?

10 ビュー (過去 30 日間)
DIMITRIS GEORGIADIS
DIMITRIS GEORGIADIS 2017 年 11 月 18 日
コメント済み: Karan Gill 2017 年 11 月 20 日
I have the following code. My function is f(x,y) = sin(x)+cos(y). I want to replace x, y with sets a and b, respectively. I ude the subs function, but Z is a 51x51 sym, instead of 51x51 double in order to be plotted. Where is my mistake?
syms x y
f = sin(x)+cos(y);
a = [0:0.1:5];
b = [1:0.1:6];
[X, Y] = meshgrid(a,b);
Z = subs(f,[x y], {X, Y});
surf(X,Y,Z)

採用された回答

Star Strider
Star Strider 2017 年 11 月 18 日
Use an anonymous function, and don’t use the Symbolic Math Toolbox. You don’t need it for this problem.
f = @(x,y) sin(x)+cos(y);
a = [0:0.1:5];
b = [1:0.1:6];
[X, Y] = meshgrid(a,b);
Z = f(X,Y);
surf(X,Y,Z)
  5 件のコメント
Star Strider
Star Strider 2017 年 11 月 20 日
As always, my pleasure!
Karan Gill
Karan Gill 2017 年 11 月 20 日
@Dimitris, or use fsurf instead of fmesh.
@Star Strider, actually it's only
>> f = @(x,y) sin(x)+cos(y);
>> fsurf(f)

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDiscrete Math についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by