MATLAB利用fplot函数把一个圆切分成等份的扇形区域

      有时需要把一个圆形区域切割成许多等分的小区域,这里就利用Matlab程序简单实现以下,具体如下:

% 2017/05/01 by DQ
clc;
clear;
close all;
%画一个半径为10,圆心为(0,0)的圆,
%Matlab没有直接画圆的函数,用rectangle代替
Radius=10;
X=-Radius;
Y=-Radius;
W=2*Radius;
H=2*Radius;
pos = [X Y W H];%(X,Y)为矩形的左下角,W H为矩形的宽高
figure;
rectangle('Position',pos,'Curvature',[1 1]);%圆的曲率为[1 1]
set(gca,'YAxisLocation','origin');%设定坐标轴y轴在原点(区域中心处),默认在左下角
set(gca,'XAxisLocation','origin');%设定坐标轴x轴在原点(区域中心处),默认在左下角
set(gca, 'YDir','reverse'); % 逆转y轴,向下
axis equal  %坐标轴等长
set(gca,'ytick',[]);%去掉y坐标轴刻度
set(gca,'xtick',[]);%去掉x坐标轴刻度
axis([-10 10 -10 10]);%约定坐标轴的范围
%经过上述过程,现在的画图区域的坐标系为:原点在区域中心,x轴正方向向右,y轴正方向向下
%下面是执行,从x轴正方向开始,顺时针转动,每过22.5度画一条经过圆心的直线,直到180度
for i=1:180/22.5
    hold on
    f=@(x) tand(i*22.5)*x;%匿名函数,表示直线方程y=kx
    fplot(f,[-15,15]);%画函数曲线
end
xlabel('x');%坐标轴标记
ylabel('y');
%这两个箭头用的不是太明白,参数设置感觉很晦涩,知道的童鞋麻烦告知一声
%annotation('arrow',[0.51 0.51],[0.8 1]);
%annotation('arrow',[0.8 1],[0.108 0.108]);

    运行程序见得到如下图结果:


   是的,就是这个图。程序已经注释详尽不多说,最后注释的两句不太清楚怎么使用,有知道的告知一声。


  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值