나는 아주 간단한 문제가 있습니다.Matlab 매트릭스 간단한 작업
등방성 안테나의 지향성을 계산할 때 다음과 같은 코드가 있다고 가정 해 보겠습니다.
ThDeg = 0:5:180;
dtheta = 5*pi/180;
dphi = 5*pi/180;
Th = ThDeg*pi/180;
% the above are the angles at which the following matrix is acquired in practical case. In this case we take a matrix of all ones.
U_iso = ones(72, 37); % our matrix assumed
omega_iso = 0;
for i = 1:72
for j=1:37
omega_iso = omega_iso + U_iso(i,j)*sin(Th(j))*dphi*dtheta;
end
end
D_iso = 4*pi/omega_iso
등방성 안테나의 경우 1에 매우 가까운 값을 제공하는 올바른 코드입니다. 72 * 37의 실제 행렬을 가질 때 코드가 정확함을 확인할 수 있도록 정당성 검사를합니다.
이제 위의 예에서 우리는 72 * 37 매트릭스를 가져 와서 근사치를 계산하고 하나의 지향성 값을 얻었습니다.
내가 필요한 것은 72 * 37 매트릭스의 모든 셀 값에서 지향성을 계산하는 것입니다. 따라서 결과는 각 셀 값 (이상적인 경우 1)에서 계산 된 방향성 값을 보여주는 또 다른 72 * 37 행렬이됩니다. 따라서이 예에서 현재 지향성의 한 가지 값으로 결과를 얻고 있습니다. 이 값은 U_iso 행렬의 모든 셀에서 필요합니다. 이것은 동일한 값을 갖는 72 * 37 매트릭스를 생성합니다. 또한 행렬의 모든 값은 위 코드의 결과와 동일합니다.
그럼이 문제를 해결할 수 있습니까? 매트릭스 전체에 걸쳐 루프를 이동하는 방법을 이해할 수 없습니다. 그래서 그것은 각 셀을 계산합니다.
회신을 기다리고 있습니다.
U_iso는 행렬의 행렬 또는 무엇을 의미합니까? – kennytm
아니 그냥 가정 매트릭스. 일반적으로 완벽한 안테나입니다. 하지만 제가 측정을 할 때, 실제 안테나는 72 * 37 매트릭스에서 다른 숫자를 갖게 될 것입니다. 이것은 실제로 방사 패턴입니다. 더 간단하게하기 위해 위의 U_iso가 사용됩니다. – adeel
같은 크기의 행렬을 취하고 각 행렬의 각 (i, j) 요소에 대해 무언가 (곱셈)를하는 "elementwise"연산자를 사용할 수 있습니다. – rwong