鸭鸭 发表于 2009-11-5 15:41

谁会画这个Compass图?

在一个圆内绘制线段,线段为一矢量,有长度和方向。输入长度和方向,绘制下图:

其中,同心圆由内到外分别表示时间1-3s,请问这个如何实现啊?

[ 本帖最后由 ChaChing 于 2009-11-7 22:56 编辑 ]

ChaChing 发表于 2009-11-5 16:39

help Compass ?

鸭鸭 发表于 2009-11-5 17:24

compass画出的线都有箭头的,而且都是以圆心为起点。我想要得到的是线穿过圆心。
而且compass默认圆的度数逆时针从0-360°,不能根据我个人需要来设置度数范围。

ChaChing 发表于 2009-11-5 20:36

不是很清楚那到底是什么图!? 英文术语叫什么? 或许去官网找找看
若没有现成的, 自己画应该不是很难!

鸭鸭 发表于 2009-11-5 21:30

compass是罗盘图。其实我这个口说起来简单:
就是给定一个同心圆,半径分别为1,2,3;以正北方向为0°,顺时针依次90°,180°,270°,360°。
然后我知道直线的方向和长度,将其画在圆上。
比如一条直线方向是60°,长约0.8,那么就可以将其显示在圆上,圆心为此直线的中点。
我有多组这样的数据,知道方向和长度。不知道我表达清楚了没有?
我用polar画了,但问题是polar里面的角度都是以水平向右为0°,然后顺时针角度变化。
貌似简单的问题,大家不妨都动手试试!

ChaChing 发表于 2009-11-5 23:50

回复 5楼 鸭鸭 的帖子

去官网找找看!
tt='; tt=repmat(tt,1,3);
rr=ones(size(tt)); rr(:,2)=2; rr(:,3)=3;
polargeo(tt,rr); hold on
tt=; rr=; polargeo(tt,rr);

[ 本帖最后由 ChaChing 于 2009-11-5 23:52 编辑 ]

friendchj 发表于 2009-11-6 07:18

参考一下:
clc
clear
t=(0:.05:2)*pi;
r=1:3;
hold on
for i=1:3, plot(r(i)*cos(t),r(i)*sin(t)),end
x=[.8,2,4];
y=; % 角度
y=y/180*pi;
% 由长度和角度计算线段坐标,两个坐标关于原点对称
for i=1:length(x), plot(,...
                         ),end
grid on
axis square
hold off

鸭鸭 发表于 2009-11-6 14:02

非常感谢两位主任的热心帮助,可以了。
但又碰到了新的问题,画出的图很小,不清楚。
因编程能力有限,我就用最笨的方法subplot来画多行多列的图(感觉应该是用循环最好?)。
举例,比如我画4行9列的图,subplot(491).....subplot(4936),经实践,画出的图特别小,复制到word里面几乎看不清,人为的放大使得图片很不清晰,而且变形。我搜了一下有的人说用axis,可我不是很明白。怎么弄呢?

ChaChing 发表于 2009-11-6 21:52

回复 8楼 鸭鸭 的帖子

应该不是axis而是axes, help下并试下式
axes('position',);plot(rand(5,1))

至于画出的图很小不清楚, 或许可试试figure的Position设定试试!
好奇有需要画36个图在一画面吗?

[ 本帖最后由 ChaChing 于 2009-11-6 22:00 编辑 ]

beckybu 发表于 2011-10-12 20:31

回复 6 # ChaChing 的帖子

多谢!学习学习!

beckybu 发表于 2011-10-12 20:31

回复 6 # ChaChing 的帖子

非常感谢!要经常来

ChaChing 发表于 2011-10-23 16:54

回复 10 # beckybu 的帖子

:@)近一年才反应!?
页: [1]
查看完整版本: 谁会画这个Compass图?