Bonjour,
La fonction ft(t) dessine une gaussienne dont je recherche la largeur à mi-hauteur. Pour cela au lieu d'utiliser les fonctions toutes faites j'essaye de le faire moi-même. Je cherche donc à trouver les valeurs de t pour lesquelles le ft correspondant est égal à max(ft)/2 (soit 0.5). Cependant cette valeur n'existe pas forcément dans mon tableau c'est pourquoi j'utilise la ligne suivante pour trouver les valeurs de ft qui se rapprochent le plus de la valeur 0.5 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 n = 2^15; twidth = 3e-9; t0 = 1.2011e-11; t = linspace(-twidth/2, twidth/2, n); t = t'; % <32768x1 double> ft = exp(-(t.^2/t0^2)); ft = ft/max(ft); % <32768x1 double>
Pour moi je lis cette ligne de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 half = max(ft)/2; % integer ind = find( ft == ft( abs( ft-half == min( abs(ft-half) )));
ind contient l'indice de la ligne du tableau ft où la valeur ft est celle qui se rapproche le plus de la valeur half.
Problème :
Apparemment l'erreur réside dans le fait que le 1er terme ft dans find n'est pas de la même dimension que celui après le =. Mais je ne vois pas en quoi ca pose problème vu qu'on cherche la valeur dans le tableau ft qui vaut celle après le =... Bref je suis bloqué.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Error using ==> eq Matrix dimensions must agree
Merci pour votre aide
Partager