我试图在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建模。
答案 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
添加了几个点,因此曲线更加明显