如何用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图才对,但我不知道三个坐标轴分别该是什么,我有空再帮你翻数学书看看吧,你自己也看看。

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

如何用matlab画出对数螺旋线~
对数螺旋线的极坐标方程为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控制螺旋线绕行角度

帮忙写个Matlab小程序
11三维螺旋线: t=0:pi\/50:10*pi; plot3(sin(t),cos(t),t) %参数方程 grid %添加网格12 t=linspace(0,20*pi, 501); plot3(t.*sin(t), t.*cos(t), t); %注意点乘也可以同时画出两条曲线,格式与二维情况类似,兹不举例。13用mesh命令画曲面画出由函数 形成的立体网状图: a=linspace(-2,...

matlab怎么画直径越来越大的五圈螺旋线
对数螺旋线的极坐标方程为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控制螺旋线绕行角度。

相似回答