首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带约束的Matlab三维绘图

带约束的Matlab三维绘图
EN

Stack Overflow用户
提问于 2018-01-19 03:40:07
回答 1查看 527关注 0票数 0

我想画这样的图:

3*x*y

有一个约束

x^2+y^2=8

在Matlab中,所以它应该看起来像这样:

http://www.wolframalpha.com/input/?i=maximize+3xy+on+x%C2%B2%2By%C2%B2%3D8

有什么想法吗?

我试过

代码语言:javascript
运行
复制
ezsurf(@(x,y)3*x.*y)
hold
fimplicit(@(x,y)x.^2+y.^2-8)

但是结果很糟糕,线条图没有跟随表面

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-20 23:00:36

我做到了!

代码语言:javascript
运行
复制
a=@(x,y)3*x.*y
b=@(x,y)x.^2+y.^2-8
constpl(a,b)

constpl是我自己定义的函数

代码语言:javascript
运行
复制
function constpl(fun,constraint)
a=fimplicit(constraint);
x=a.XData;
y=a.YData;
z=fun(x,y);
ind=z>=max(z)-0.000001;
x1=x(ind);
y1=y(ind);
z1=z(ind);
ezmesh(fun);
hold on
plot3(x,y,z,'r','LineWidth',2)
scatter3(x1,y1,z1,'rd','LineWidth',3)
hold off
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48329097

复制
相关文章

相似问题

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