用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)
可见边数变多时它就成了一个圆形
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
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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯