Problème dans MatLab
naceurESSTT
-
TheAhmed -
TheAhmed -
Bonjour,
j'ai programmer la fonction ci-dessous, avec MatLab
x= @(t) 0.01*t*exp(-0.01*t);
CP=quadl(x,0,40000)
ça m'a donné le message d'erreur suivant:
??? Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==> Untitled>@(t) 0.01*t*exp(-0.01*t) at 6
x= @(t) 0.01*t*exp(-0.01*t);
Error in ==> quadl at 63
y = feval(f,x,varargin{:}); y = y(:).';
Error in ==> Untitled at 7
CP=quadl(x,tc,40000)
quand j'ai ajouté un point pour la multiplication comme ça
x= @(t) 0.01*t.*exp(-0.01*t);
CP=quadl(x,0,40000)
le modèle m'a donné un résultat ,
je vais savoir pourquoi?????
j'ai programmer la fonction ci-dessous, avec MatLab
x= @(t) 0.01*t*exp(-0.01*t);
CP=quadl(x,0,40000)
ça m'a donné le message d'erreur suivant:
??? Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==> Untitled>@(t) 0.01*t*exp(-0.01*t) at 6
x= @(t) 0.01*t*exp(-0.01*t);
Error in ==> quadl at 63
y = feval(f,x,varargin{:}); y = y(:).';
Error in ==> Untitled at 7
CP=quadl(x,tc,40000)
quand j'ai ajouté un point pour la multiplication comme ça
x= @(t) 0.01*t.*exp(-0.01*t);
CP=quadl(x,0,40000)
le modèle m'a donné un résultat ,
je vais savoir pourquoi?????
A voir également:
- Problème dans MatLab
- Gnu octave matlab - Télécharger - Édition & Programmation
- Programmer avec MATLAB ✓ - Forum Matlab
- Intervalle sur matlab ✓ - Forum Matlab
- Termes de Matlab ✓ - Forum Matlab
- Matlab 6.5 download - Forum Windows
2 réponses
le ".*" désigne que le produit se fait cellule par cellule alors que le "*" désigne le produit matriciel. En effet le problème qui s'est posé que si t est un vecteur de dimension (n,1) alors exp(-0.01*t) est de même dimension cad (n,1). Ensuite tu ne peux pas multiplier le vecteur t(n,1) par un autre vecteur de dimension t(n,1). Donc tout dépend ici de ce que tu veux faire. Si tu veux obtenir l'image de chaque celleule de t, le .* est à sa correcte. Sinon, tu peut faire,
0.01*t'*exp(-0.01*t)
ce qui donne un autre résultat, mais qui est correcte dans le sens de produit matriciel puisque on va avoir un produit (1,n)*(n,1). Tout dépend donc de ce que tu veux faire.
0.01*t'*exp(-0.01*t)
ce qui donne un autre résultat, mais qui est correcte dans le sens de produit matriciel puisque on va avoir un produit (1,n)*(n,1). Tout dépend donc de ce que tu veux faire.