用MATLAB这道题怎么做啊 20

 我来答
tianxiawulang
2016-06-12 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2561万
展开全部

直观理解,在某坐标面投影,应该就是把两个方程消元,去掉垂直于该坐标面的那个轴所对应的变量,换言之,就是两个曲面交线在各坐标面的投影。但这个理解不完全正确,例如对于Oxz 平面投影就不适用。

 

我针对这个特例编写了一段代码,把三个投影都直接画在三维图中,但总感觉方法不是太好。题主最好能提供一些背景信息,例如这个练习是哪本书或哪个网上教程的配套题,也许能够有更好的做法。

 

参考代码:

clf
hold all
h1 = ezsurf('sqrt(x^2+y^2)',[0 2 -1 1]);
h2 = ezsurf('sqrt(2*x+0*y)',[0 2 -1 1]);
a = 0.45;
set(h1, 'FaceColor', 'r', 'EdgeColor', 'none', 'FaceAlpha', a)
set(h2, 'FaceColor', 'g', 'EdgeColor', 'none', 'FaceAlpha', a)
view(-30, 20)

% Oxy 平面投影,即消去z,得关于x-y的方程
h = ezplot('x^2+y^2=2*x');
set(h,'linewidth',2)
title '', zlabel z

% 影,即消去y,得关于x-z的方程,但只是交线,并非该区域
% 从三维图观察,区域的下边沿应为x=z的直线,但没想好怎样证明
z = 0:.05:2;
x = z.^2 / 2;
y = 0*x + 1;
plot3(x([1:end 1]),y([1:end 1]),z([1:end 1]),'linewidth',2)

% Oyz 平面投影,即消去x,得关于y-z的方程
z = 0:.05:2;
y1=sqrt(z.^2-z.^4/4);
y2=-sqrt(z.^2-z.^4/4);
z=[z z(end:-1:1)];
y=[y1 y2(end:-1:1)];
x=y*0+2;
plot3(x,y,z,'linewidth',2)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式