加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

matlab中画圆

(2012-12-08 01:01:08)
标签:

matlab

教育

分类: matlab

问题一:只画圆

 怎么用matlab画圆

(1)直接输入方式

alpha=0:pi/20:2*pi;%角度[0,2*pi] 
R=2;%半径 
x=R*cos(alpha); 
y=R*sin(alpha); 
plot(x,y,'o-') 
axis equal

(2)利用自编函数

把以下程序存为circle.m 

function circle(R) 
alpha=0:pi/50:2*pi;%角度[0,2*pi] 
%R=2;%半径 
x=R*cos(alpha); 
y=R*sin(alpha); 
plot(x,y,'-') 
axis equal 

用的时候 
>> circle(3) 
3是半径 

(3)画单位圆或者是椭圆的说明

Matlab没有提供直接绘圆的图元函数,需要自己写代码,其实
就两句:

sita=0:pi/20:2*pi;
plot(r*cos(sita),r*sin(sita)); %半径为r的圆

plot(a*cos(sita+fi),b *sin(sita+fi)); %椭圆

如果是单位圆,可以使用rectangle('Curvature', [1 1])

问题二:生成类似表盘那种带刻度的圆
 
问题说明:整个圆以10刻度划分,并顺时针从顶部以0°、30°、60°……330°标记。 
生成的圆就好像表盘一样,有刻度标记但不是条条直径,而且标记是每隔30°标记,还有从最顶端开始以0°标记。
hold on; 
ezplot('x^2+y^2-1'); %画一个圆先 
for t=0:10:350 %循环 
theta=t/180*pi; %角度转换到弧度 
polar([theta,theta],[0,1]); %画分割线 
if mod(t,30)==0 
text(1*cos(theta),1*sin(theta),sprintf('%.0f°',t)); %标字 
end 
end

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有