【发布时间】:2013-05-30 08:52:34
【问题描述】:
我想将sph2cart返回的数据组织成一个带有向量元素的矩阵,并对这个矩阵中的每个元素进行运算(向量-向量或向量-标量计算)。这是我实现此目的的示例:
lightV = zeros(1, 1, 3);
lightV(1,1,1) = 0.5;
lightV(1,1,2) = 0.4;
lightV(1,1,3) = 0.7;
[Az El] = meshgrid(0:60:360, 0:15:90);
[x y z] = sph2cart(Az*pi/180, El*pi/180, 1);
refV = zeros(size(Az,1), size(Az,2), 3);
radius = zeros(size(Az,1), size(Az,2));
for i = 1:size(Az,1)
for j = 1:size(Az,2)
refV(i,j,1) = -x(i,j);
refV(i,j,2) = -y(i,j);
refV(i,j,3) = z(i,j);
radius(i,j) = dot(refV(i,j,:), lightV(1,1,:));
end
end
但是这看起来有些多余,我怎样才能使它更简洁?
【问题讨论】:
标签: matlab vectorization matrix-multiplication