|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
- %author:huright
- %date:2008年6月6日
- %《Matlab原理与工程应用》P145习题
- clc
- clear
- n=input('外接圆的个数\n');
- r=2;
- r1=r*sin(pi/n)/(1-sin(pi/n));
- t = 0:.01:2*pi;
- plot(r.*cos(t),r.*sin(t));
- axis equal
- hold on
- theta=(0:(n-1))*(2*pi/n);
- a=(r+r1).*cos(theta);
- b=(r+r1).*sin(theta);
- [aa,xi]=meshgrid(a,r1.*cos(t));
- [bb,yi]=meshgrid(b,r1.*sin(t));
- plot(xi+aa,yi+bb);
- hold off
复制代码 这是《Matlab原理与工程应用》一书的一个习题,偶然看来,感觉有趣,尝试写了代码,运行结果如图,源代码已经给出。由于要求不用for循环。
相邻的圆是相切的。
假如你有学习Matlab的兴趣和时间,不妨尝试一下。记住“不用for循环”!!!
提示:是不是可以用极坐标实现?
[ 本帖最后由 huright 于 2008-6-6 21:27 编辑 ] |
|