在matlab中编写光滑锥体

时间:2015-03-27 15:59:54

标签: matlab matlab-figure polar-coordinates parametric-equations

我试图在matlab中编写一个平滑的(?)圆锥

z = x ^ 2 + y ^ 2

x ^ 2 + y ^ 2 = C

C = [1 1.4 1.7 2 2.2]

我已经意识到我应该使用极坐标,因为它是一个圆形的图形

clear all, clc, clf


theta = linspace(0,2*pi,1000)
r = [1 1.4 1.7 2 2.2] % De olika radierna

[r,theta] = meshgrid(r,theta)
z = r
x = r.*cos(theta)
y = r.*sin(theta)
figure
grid on
meshc(x,y,z)
xlabel('x')
ylabel('y')
zlabel('z')

然而,它建模的问题似乎更像是一条平滑的曲线而且我得到一条线性曲线,不确定我是否做得对,原来的问题不是

如果有人拥有Adams / Essex第8版的“微积分”这本书,那么我在第674页的图12.5中我试图用matlab建模。

1 个答案:

答案 0 :(得分:0)

实际上你的代码很棒。我只是添加分号,因此它不显示所有变量(加上它运行得更快)。问题是您直接以线性方式绘制了Z值。你其实想要保留平方词。只看我的代码,我只更改了2行

clear all, clc, clf

theta = linspace(0,2*pi,1000);
%i added extra terms .1 through .7
r = sqrt([.1,.2,.7,1,2,3,4,5]);
%r = [1 1.4 1.7 2 2.2] % De olika radierna

[r,theta] = meshgrid(r,theta)
z = r.*r;        %this restores the curve
%z = r
x = r.*cos(theta);
y = r.*sin(theta);
figure
grid on
meshc(x,y,z)
xlabel('x')
ylabel('y')
zlabel('z')

我向r添加了几个点,因此曲线更加明显

from book plot