怎么用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');画出来的图形却是平面,哪儿错了,求解。 展开
另外,怎么用函数表达式花图象,例如,ezmesh('sqrt(x^2+y^2)')画出的是锥面,但是我用 f=@(x,y)('sqrt(x^2+y^2)); ezmesh('f');画出来的图形却是平面,哪儿错了,求解。 展开
2个回答
展开全部
先说第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;
所以需要加“.”来运算,这个比较简单,是没什么问题的
第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);
展开全部
你这是两个问题啊
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)
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)
更多追问追答
追问
必须用循环吗
追答
不是必须,但我考虑到不是所有的方程都有解,所以我在循环中加了判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询