大侠,我刚才问那个"matlab怎样把2维图叠加成3维图"的那人,还有个小问题能帮帮我吗~谢谢
我有个含xyz的3元方程是1./2.*(820000.*z.*9.8./0.05415).*[y.^2.*(x-y./3)-4./3.*((2000000-1000000...
我有个含xyz的3元方程
是1./2.*(820000.*z.*9.8./0.05415).*[y.^2.*(x-y./3)-4./3.*((2000000-1000000)./(1820000-1000000)).*x.^3-(((2.*x-y).*y).^0.5).^2.*((-2.*((((2.*x-y).*y).^0.5)./x).*((((2.*x-y).*y).^0.5)./x.*cos(5.*pi./6)+((x.^2-(((2.*x-y).*y).^0.5).^2).^0.5./x).*sin(5.*pi./6)).*0.05415./(1820000.*x.^2.*z.*9.8)-(4./3).*2000000./1820000+(2./3-((x.^2-(((2.*x-y).*y).^0.5).^2).^0.5./x)+(1./3).*((x.^2-(((2.*x-y).*y).^0.5).^2).^0.5./x).^3)+1000000./1820000.*(2./3+((x.^2-(((2.*x-y).*y).^0.5).^2).^0.5./x)-(1./3).*(((x.^2-(((2.*x-y).*y).^0.5).^2).^0.5./x)).^3)).*x./[(1000000./1820000-1).*((((2.*x-y).*y).^0.5)./x).^2])]-((((2.*x-y).*y).^0.5).*sin(acos(y./x-1)-(5.*pi./6)))=0
刚才用你给的第二个方法isosurface得到了其在x[0 0.000001],y[0 0.000001],z[0 50000]的3维图形
但第一个方法不知道怎么样才能得到他的图形,不知道怎样设定xyz的取值区间,你能帮我列下程序吗,谢谢取值区间为x[0 0.000001],y[0 0.000001],z[0 50000]
主要第一个程序没设置xyz区间的地方,我不会弄;第二个开头有,比较好搞 展开
是1./2.*(820000.*z.*9.8./0.05415).*[y.^2.*(x-y./3)-4./3.*((2000000-1000000)./(1820000-1000000)).*x.^3-(((2.*x-y).*y).^0.5).^2.*((-2.*((((2.*x-y).*y).^0.5)./x).*((((2.*x-y).*y).^0.5)./x.*cos(5.*pi./6)+((x.^2-(((2.*x-y).*y).^0.5).^2).^0.5./x).*sin(5.*pi./6)).*0.05415./(1820000.*x.^2.*z.*9.8)-(4./3).*2000000./1820000+(2./3-((x.^2-(((2.*x-y).*y).^0.5).^2).^0.5./x)+(1./3).*((x.^2-(((2.*x-y).*y).^0.5).^2).^0.5./x).^3)+1000000./1820000.*(2./3+((x.^2-(((2.*x-y).*y).^0.5).^2).^0.5./x)-(1./3).*(((x.^2-(((2.*x-y).*y).^0.5).^2).^0.5./x)).^3)).*x./[(1000000./1820000-1).*((((2.*x-y).*y).^0.5)./x).^2])]-((((2.*x-y).*y).^0.5).*sin(acos(y./x-1)-(5.*pi./6)))=0
刚才用你给的第二个方法isosurface得到了其在x[0 0.000001],y[0 0.000001],z[0 50000]的3维图形
但第一个方法不知道怎么样才能得到他的图形,不知道怎样设定xyz的取值区间,你能帮我列下程序吗,谢谢取值区间为x[0 0.000001],y[0 0.000001],z[0 50000]
主要第一个程序没设置xyz区间的地方,我不会弄;第二个开头有,比较好搞 展开
1个回答
展开全部
这个表达式可真够长的。
之前说过,使用ezplot画图的代码如果曲线不连续会有问题,这个问题对于现在这个函数表现更为明显,所以我把这部分代码改了改。
其实第一种方法的xyz区间设置也很容易:x和y都在ezplot函数中,z是for循环的那个ii。
需要注意的是,表达式中有z作为分母的项,所以z不能取0。代码如下:
syms x y z
f=1/2*(820000*z*9.8/0.05415)*(y^2*(x-y/3)-4/3*((2000000-1000000)/...
(1820000-1000000))*x^3-(((2*x-y)*y)^0.5)^2*((-2*((((2*x-y)*y)^...
0.5)/x)*((((2*x-y)*y)^0.5)/x*cos(5*pi/6)+((x^2-(((2*x-y)*y)^...
0.5)^2)^0.5/x)*sin(5*pi/6))*0.05415/(1820000*x^2*z*9.8)-(4/3)*...
2000000/1820000+(2/3-((x^2-(((2*x-y)*y)^0.5)^2)^0.5/x)+(1/3)*...
((x^2-(((2*x-y)*y)^0.5)^2)^0.5/x)^3)+1000000/1820000*(2/3+((x...
^2-(((2*x-y)*y)^0.5)^2)^0.5/x)-(1/3)*(((x^2-(((2*x-y)*y)^0.5)...
^2)^0.5/x))^3))*x/((1000000/1820000-1)*((((2*x-y)*y)^0.5)/x)-...
^2)))((((2*x-y)*y)^0.5)*sin(acos(y/x-1)-(5*pi/6)));
clf
for ii=linspace(1,50000,10)
h=ezplot(subs(f,z,ii),[0 0.000001],[0 0.000001]);
for jj=1:length(h)
set(h(jj),'zData', ii*ones(size(get(h(jj),'xData'))));
end
hold on
end
zlabel('z');
view(-25,30)
axis auto
绘图效果:
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询