首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用等高线绘制函数

使用等高线绘制函数
EN

Stack Overflow用户
提问于 2013-08-30 01:59:28
回答 3查看 182关注 0票数 0

我尝试使用等高线来绘制此函数

3y + y^3 - x^3 =5

我尝试了轮廓(3*y+y^3-x^3-5),但它不起作用。

如何使用等高线绘制此函数?

EN

回答 3

Stack Overflow用户

发布于 2013-08-30 02:25:10

X和y是否正确定义为2x2矩阵?如果是这样,那么“幂”运算符需要在组件基础上完成(.^3而不是^3)。

这是可行的:

代码语言:javascript
复制
[x,y] = meshgrid(-2:.2:2,-2:.2:2);
contour(3*y+y.^3-x.^3-5)
票数 1
EN

Stack Overflow用户

发布于 2018-10-19 02:26:45

我不相信这解决了你问题的所有部分,但这是一个开始。如果您绝对希望contour调用一个函数,您可以将我的示例调整为contour(X,Y,fh(X,Y))

更好地接近

代码语言:javascript
复制
fh=@(x,y) 3*y + y.^3 - x.^3 -5;  % <--- This is your function
x = (-4:.25:4)';
y = (-2:.25:2)';
[X,Y] = meshgrid(x,y);
Z = fh(X,Y);
contour(X,Y,fh(X,Y))

直接方法(不是首选的,但有效)

请注意,Z已被转置以使其正常工作。

代码语言:javascript
复制
fh=@(x,y) 3*y + y.^3 - x.^3 -5;    % <----this is your function
X = (-4:.25:4)';
Y = (-2:.25:2)';
Z = zeros(length(X),length(Y));
for i = 1:length(X)
    for j = 1:length(Y)
        xi = X(i);
        yj = Y(j);
        Z(i,j) = fh(xi,yj);
    end
end
contour(X,Y,Z','LevelList',-60:10:60,'ShowText','on','LineWidth',1.4)  % Fancied it up a bit
票数 0
EN

Stack Overflow用户

发布于 2018-10-29 00:03:59

也许您可以尝试fcontour,它绘制了函数z= f(x,y)的轮廓线,其中z的水平在默认区间-5 5内为x和y。

代码语言:javascript
复制
f = @(x,y) 3*y + y.^3 - x.^3 - 5;
fcontour(f)

输出:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18517933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档