怎么用matlab画复杂三维隐函数图象

隐函数无法化简成z=···,例如exp(x^2+y^2+z^2)=x+y+z,随便举得,不知道能否画出。求高人解答。另外,怎么用函数表达式花图象,例如,ezmesh('s... 隐函数无法化简成z=···,例如exp(x^2+y^2+z^2)=x+y+z,随便举得,不知道能否画出。求高人解答。
另外,怎么用函数表达式花图象,例如,ezmesh('sqrt(x^2+y^2)')画出的是锥面,但是我用 f=@(x,y)('sqrt(x^2+y^2)); ezmesh('f');画出来的图形却是平面,哪儿错了,求解。
展开
 我来答
刘贺great
2013-02-09 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3829
采纳率:100%
帮助的人:1810万
展开全部
先说第2个,匿名函数实际上是相当于定义了一个函数,不过是用的简洁方法而已
所以需要加“.”来运算,这个比较简单,是没什么问题的
第1个问题,有点复杂,楼上的我没细看,但好像不能运行,试试看:
clear all;clc;
f=@(x,y,z)exp(x+y+z)-(x+y+10*z);
[x,y,z]=meshgrid(-4:0.2:4);
v=f(x,y,z);
[d,m]=isosurface(x,y,z,v,0);
patch('faces',d,'vertices',m,'facevertexcData',spring(length(m)),'facecolor','b','edgecolor','flat');
view(3);axis equal;grid on;
追问
第二个还没弄懂,第一步f=@(x,y)('sqrt(x^2+y^2)); 第二部怎么写?
第一个问题patch后面括号内的什么意思,初学者,求教。
追答
今天有点事,先说第一个吧,有时间再说第二个:
函数句柄:
clear all;clc;
f=@(x,y)sqrt(x.^2+y.^2);
ezsurf(f);
k打酱油k
2013-02-08 · TA获得超过1396个赞
知道小有建树答主
回答量:266
采纳率:66%
帮助的人:329万
展开全部
你这是两个问题啊
1.需要解方程
clear
syms X Y A B
EQ='exp(X+Y+Z)=X+Y+100*Z'; %随便写的
x=linspace(-10,10,11);
y=linspace(-10,10,11);
z=zeros(11,11);
for i=1:length(x)
disp(i)
A=num2str(x(i));
for j=1:length(y)
B=num2str(y(j));
eq=subs(EQ,{X Y},{A B});
rootZ=solve(eq,'Z');
if (isempty(rootZ))
z(i,j)=NaN;
else
z(i,j)=double(rootZ);
end
end
end
[xx,yy]=meshgrid(x,y);
mesh(xx,yy,real(z))

2.
f=@(x,y)sqrt(x.^2+y.^2);
ezmesh(f)
更多追问追答
追问
必须用循环吗
追答
不是必须,但我考虑到不是所有的方程都有解,所以我在循环中加了判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式