J'ai un problème très simple. Supposons que nous ayons le code suivant pour calculer la directivité de l'antenne isotrope.Matlab Matrix travail simple
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
Ceci est bon code qui donne une valeur très proche de 1 qui doit être destinée à une antenne isotrope. C'est juste un contrôle de santé mentale de sorte que lorsque nous avons la matrice réelle de 72 * 37, nous pouvons confirmer que notre code est correct. Maintenant, le problème est que dans l'exemple ci-dessus, nous avons pris une matrice 72 * 37 et fait notre approximation intégrale et obtenu une valeur de directivité.
Ce dont j'ai besoin, c'est de calculer la directivité à chaque valeur de cellule de la matrice 72 * 37. Le résultat serait donc une autre matrice 72 * 37 montrant la valeur calculée de la directivité à chaque valeur de cellule (ce qui dans ce cas idéal est 1). Donc pour cet exemple, nous obtenons actuellement le résultat comme une seule valeur de directivité. Nous avons besoin de cette valeur à chaque cellule de la matrice U_iso. Cela aboutirait à une matrice 72 * 37 avec la même valeur. De plus, toutes les valeurs dans la matrice seraient identiques au résultat du code ci-dessus.
Alors pouvez-vous m'aider dans ce domaine. Je ne comprends pas comment déplacer la boucle à travers la matrice. Donc, il calcule pour chaque cellule.
En attente de réponse.
Vous voulez dire que U_iso est une matrice de matrice ou quoi? – kennytm
Non c'est juste une matrice supposée. Habituellement, c'est pour l'antenne parfaite. Mais comme je prends des mesures, l'antenne pratique aura des nombres différents dans sa matrice 72 * 37. C'est en fait le diagramme de rayonnement. Pour simplifier, l'U_iso ci-dessus est utilisé. – adeel
Vous pouvez utiliser les opérateurs "elementwise" qui prennent des matrices de même taille et font quelque chose (disons, multiplication) sur chaque élément (i, j) de chaque matrice. – rwong