永发信息网

用MATLAB画正多边形?各位高手,帮帮忙啊!

答案:2  悬赏:50  手机版
解决时间 2021-11-15 12:22
  • 提问者网友:辞取
  • 2021-11-14 18:09
用MATLAB画正多边形?各位高手,帮帮忙啊!
最佳答案
  • 五星知识达人网友:有你哪都是故乡
  • 2021-11-14 19:16
不一定,利用参数方程在直角坐标中也可以画的
t=0:pi/20:2*pi;
x=sin(t);
y=cos(t);
plot(x,y);

因为开始没有认真看你的标题,现在只能靠智能化取胜了.呵呵!
我编了个画正多边形的M文件,可以传入确定边数和边长两个参数
%算法描述:一个连长为A的正N边形,作其外接圆.任取一边,将两端与圆心相连.
%得到半径与边夹的角theta=(N-2)*180/2N,外接圆的半径R=A/2/COS(theta)

function plot_polygon(n,a)
%n为多边形的边数
%a为多边形的边长,默认值为1
if nargin<2
a=1;
end
t=(0:n)*2*pi/n;
theta=(n-2)*pi/2/n;
r=a/2/cos(theta);
x=r*cos(t);
y=r*sin(t);
plot(x,y,'r-');

在命令窗中输入

plot_polygon(3)
>> plot_polygon(6,2)
>> plot_polygon(30,2)

可见边数变多时它就成了一个圆形
全部回答
  • 1楼网友:鸽屿
  • 2021-11-14 19:37
MATLAB画正多边形

clc;clear all
n=5;%正n边形
i=1:n+1
x=sin(2*pi/n*i)
y=cos(2*pi/n*i)
plot(x,y,'-o')

MATLAB画圆圈
你可以用line的marker来画圆圈:


for num = 1: n ;

    linehandle(num) = line( 'linestyle', 'none', 'marker', 'o', 'markersize', 3, …… ) ;可以设置圈的颜色,大小等等。

end
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯