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

问题描述:

matlab 已知一个角度矩阵,怎么在一张图画出来每个矩阵元素对应的角度?
比如,已知M×N的矩阵,每个矩阵元素都是一个角度值,如何在生成的图像里,把这些角度用射线或者箭头表示出来?
注意,不是在一个坐标系,而是每个矩阵元素都对应一个坐标系,每个坐标系只画这个元素的角度值.
画出来就像一个一个的田字格,每个格子里都有一个小箭头.
1个回答 分类:数学 2014-11-03

问题解答:

我来补答
% 每个坐标系里面画一个射线,箭头属于细化的工作,有兴趣自己完成吧
% 生成测试数据(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); 后面的代码不变。 顺便回答一下评论里面提的问题:“自己的矩阵生成的效果不好,主要是射线的起点不是在每个格子的中央~该怎么改进啊?” 按照我上面说的做法,照理说不会出现你说的问题。
 
 
展开全文阅读
剩余:2000
上一页:一道物理提题