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 :
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.
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
Si on considère que j'ai un tableau de 101x101 pour (x,y) j'imagine que ma fonction va commencer comme cela:
Mais ensuite je ne vois pas vraiment comment écrire le reste
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;
Si vous avez une piste ou suggestion je suis preneur. Merci beaucoup
Partager