matlab 已知一个角度矩阵,怎么在一张图画出来每个矩阵元素对应的角度?

比如,已知M×N的矩阵,每个矩阵元素都是一个角度值,如何在生成的图像里,把这些角度用射线或者箭头表示出来?注意,不是在一个坐标系,而是每个矩阵元素都对应一个坐标系,每个坐... 比如,已知M×N的矩阵,每个矩阵元素都是一个角度值,如何在生成的图像里,把这些角度用射线或者箭头表示出来?
注意,不是在一个坐标系,而是每个矩阵元素都对应一个坐标系,每个坐标系只画这个元素的角度值。
画出来就像一个一个的田字格,每个格子里都有一个小箭头。
展开
tianxiawulang
2012-11-16 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2638万
展开全部
% 每个坐标系里面画一个射线,箭头属于细化的工作,有兴趣自己完成吧

% 生成测试数据(0-2π)
m = 8;
n = 10;
A = reshape(linspace(0, 2*pi, n*m), [n m]).';

w = 1 / n;
h = 1 / m;
clf
for i = 1 : m
for j = 1 : n
pos = [(j-1)*w (m-i)*h w h];
ax = axes('Units', 'normal', 'Pos', pos);
t = A(i, j);
%plot([cos(pi+t) cos(t)], [sin(pi+t) sin(t)])
plot([0 cos(t)], [0 sin(t)])
set(ax, 'XTick', [], 'YTick', [], 'XLim', [-1 1], 'YLim', [-1 1])
end
end
追问
非常感谢!生成的效果很棒!!!
可是我不太明白原理,比如您现在的这个例子是0到2π按照4.5度为单位一一递增生成图像,但是如果我自己有一个自定义的角度矩阵,想生成对应的图像,该怎么修改呢?
追答
我的数据是为了说明问题随便生成的,没想到反而给你造成了困扰。
假定你自己的矩阵为M,那么就把前面三行换成:
A=M;
[m,n]=size(A);
后面的代码不变。

顺便回答一下评论里面提的问题:“自己的矩阵生成的效果不好,主要是射线的起点不是在每个格子的中央~该怎么改进啊?”
按照我上面说的做法,照理说不会出现你说的问题。
9192631770
2012-11-16 · TA获得超过7309个赞
知道大有可为答主
回答量:3138
采纳率:50%
帮助的人:2967万
展开全部
分坐标系用subplot
画箭头用quiver
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式