Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
普通会员
注册日期: 2009-02-22
帖子: 91
声望力: 18 ![]() |
![]()
看下程序可否:
a=input('请输入圆心横坐标(例如 -2):'); b=input('请输入圆心纵坐标(例如 3):'); for n=1:1:10 t=linspace(-pi,pi); x=sin(t)*sqrt(0.02*n)+a; y=cos(t)*sqrt(0.02*n)+b; plot(x,y) hold on axis equal end 应加hold on 否者只画出最后一个。 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-04-22
年龄: 39
帖子: 8
声望力: 0 ![]() |
![]()
绘制十个同心圆:
clear;clc a=input('请输入圆心横坐标(例如 -2):'); b=input('请输入圆心纵坐标(例如 3):'); for k=1:1:10 t=linspace(-pi,pi); x=sin(t)'*sqrtm(0.02*k)+a; y=cos(t)'*sqrtm(0.02*k)+b; plot(x,y) hold on axis equal 我想用fill或patch指令将第一个圆与第二个圆之间,第三个圆与第四个圆之间,第五个圆与第六个圆之间。。。第九个圆与第十个圆之间的环带填充成黑色,这样就形成了黑白相间的环带。望高人指点一番。谢谢了 此帖于 2009-04-25 21:22 被 protoss 编辑。 原因: 有错 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-04-22
年龄: 39
帖子: 8
声望力: 0 ![]() |
![]()
绘制并填充特定的十个同心圆:
clear;clc a=input('请输入圆心横坐标(例如 -2):'); b=input('请输入圆心纵坐标(例如 3):'); for k=1:1:10 t=linspace(-pi,pi); x=sin(t)'*sqrtm(0.02*k)+a; y=cos(t)'*sqrtm(0.02*k)+b; plot(x,y) hold on axis equal 我想用fill或patch指令将第一个圆与第二个圆之间,第三个圆与第四个圆之间,第五个圆与第六个圆之间。。。第九个圆与第十个圆之间的环带填充成黑色,这样就形成了黑白相间的环带。请问是否了解。谢谢了。 |
![]() |
![]() |
![]() |
#4 |
普通会员
注册日期: 2009-02-22
帖子: 91
声望力: 18 ![]() |
![]()
不知下程序可否:
a=input('请输入圆心横坐标(例如 -2):'); b=input('请输入圆心纵坐标(例如 3):'); for n=10:-1:1 t=linspace(-pi,pi); x=sin(t)*sqrt(0.02*n)+a; y=cos(t)*sqrt(0.02*n)+b; if rem(n,2)==0 fill(x,y,'k'); elseif rem(n,2)==1 fill(x,y,'w') end hold on axis equal end 希望有帮助!! |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2009-04-22
年龄: 39
帖子: 8
声望力: 0 ![]() |
![]()
那如果绘制的是黑白相间的条形带,设带宽横坐标为x,纵坐标为y,给定一个坐标点s(a,b),
n=10:-1:1 x=sqrt(0.02*n)+a; y任意取,该如何绘制。用bar指令好像不行吧。 |
![]() |
![]() |
![]() |
#6 |
初级会员
注册日期: 2009-04-22
年龄: 39
帖子: 8
声望力: 0 ![]() |
![]()
若给定一点p(x,y),如何以它为中心画一宽高分别为a,b的矩形?最好能对其进行填充
|
![]() |
![]() |