如何用matlab画出对数螺旋线~

p=C*exp(r*k) k=tan a

对数螺旋线的极坐标方程为p=c*exp(a*theta)

matlab程序:

clc;

clear;

c=1;

a=0.1;

theta=0:0.01:4*pi;

r=c*exp(a*theta);

polar(theta,r)

c和a控制螺旋线尺寸大小,a控制螺旋线之间的距离,theta控制螺旋线绕行角度

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-13
假定C=1;画r=1,2,3,4,5,6,7,8,9,10十条线的程序:
clear
clc
close all
C=1;
for r=1:10;
a=-pi/2:pi/100:pi/2;
k=tan(a);
p=C*exp(r*k);
plot(a,p)
hold on
end
axis([-2 2 -10 20])追问

感谢你的解答,不过我按你的程序画出来的图不太像我要的对数螺旋线,可以帮我再看看吗?谢谢~

追答

你的公式中各参数的取值应该是什么范围我不知道啊!
因为k=tan(a),所以我取为-pi/2到pi/2,
C是大写,我想应该是常数吧,就去了固定值1,
r我就不知道取什么值了。
而且对数螺旋线为什么是exp()而不是log()呢?
我知道螺旋线是什么样子的,我也知道上面的程序画出来的不是螺旋线,但我不知道公式应该是什么。好像螺旋线应该画成3D图才对,但我不知道三个坐标轴分别该是什么,我有空再帮你翻数学书看看吧,你自己也看看。

本回答被提问者和网友采纳