Bonjour à tous,

J'ai encore quelques difficultés avec les opérations sur matrice avec Matlab... J'ai une fonction à deux variables (x,y) que voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
function [ Gain ] = Gain_xy( x,y,mat)
%Give the gain for different values of x,y with mat the
%matrice with the gain, a parameter, b parameter. x must be different of 0
n=length(mat);
R_mat=zeros(n,1);
k=x/y;
for i=1:1:n
    R_mat(i)=(1+k^2)*(mat(i,2)^2)/(k^2+(mat(i,2)/mat(i,3))^2);
end
[m,j]=min(abs(R_mat-(x^2+y^2)));
Gain=mat(j,1);
end
Dans "mat" il y a n ellipses avec des paramètres différents, à partir d'un couple (x,y) je calcule une valeur avec chacune de ces ellipses et je détermine laquelle de mes n ellipses j'associe avec mon couple de valeur (x,y). Cela fonctionne bien, je cherche désormais à appliquer cette fonction sur un ensemble de valeurs (x,y) générées avec meshgrid, à partir de là je ne m'en sors plus trop.

Si on considère que j'ai un tableau de 101x101 pour (x,y) j'imagine que ma fonction va commencer comme cela:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
function [ Gain ] = Gain_xy( x,y,mat)
%Give the gain for different values of x,y with mat the
%matrice with the gain, a parameter, b parameter. x must be different of 0
n=length(mat);
R_mat=zeros(101,101,n);
k=x./y;
Mais ensuite je ne vois pas vraiment comment écrire le reste

Si vous avez une piste ou suggestion je suis preneur. Merci beaucoup