[Matlab] Problème de fonction

Tout ce qui concerne notamment les outils de calcul numérique, de calcul formel ou de géométrie.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
farid1992

[Matlab] Problème de fonction

Message non lu par farid1992 »

j'ai programmer cette fonction c'est un modelé mathématique qui calcule la disponibilité d'un système quand je le programme sur matlab il a des problème il me dit " Undefined function or method 'int' for input arguments of type double" voila le programme :

Code : Tout sélectionner

function [as]=MaxDisp(theta)
%initialisation des données

  t= wblrnd(8.7,1164.1);
  x= wblrnd(3.6,144.2);
  
  f=wblpdf(t,8.7,1164.1)
  g=wblpdf(x,3.6,144.2)

Tc=24;
Tp=12;
Ti=2;
H=0;



%Eu1 calcul du bon foncionnement du système
Eu1=0;
for j=1:1000
    G=int(g);
   intG1=int(1-int(G),0,theta.*(j)+H-t);
   somme1=int((t+intG1).*f,theta.*(j-1),theta.*j);
   Eu1=Eu1+somme1;

   
 end

%Eu2 calcul de la probabilité de polotique de maintenance
Eu21=0;
for j=1:1000
    intG2=int(g,0,theta*(j)+H-t)
    somme2=int(intG2.*f,theta*(j-1),theta*(j));
    Eu21=Eu21+somme2;
end
Eu2=(Tc-Tp)*Eu21+Tp;

% Eu3 calcul du nombre d'inspection du cycle
Eu31=0;
for j=1:1000
    intG3=int(g,0,theta*(j+1)-t)
    somme3=(j)*int((intG3).*f,0,theta*(j+1));
    Eu31=Eu31+somme3;
end 
Eu3=Ti*Eu31-int(int(g,0,theta*(j)-t).*f,0,theta*(j));

% As calcul final
 as=Eu1/(Eu1+Eu2+Eu3)
  end
Maxinquaye

Re: fonction sur matlab aides moi a trouver le problème

Message non lu par Maxinquaye »

Le problème est que Matlab ne connait pas la fonction "int" que tu utilises (en tout cas j'ai essayé sur ma version il ne la connait pas non plus). Peut être que tu utilises une fonction qui n'existe pas (tu la confonds avec une autre), ou qui n'est pas disponible sur la version de Matlab que tu utilises ?

Si tu veux utiliser une fonction qui intégre, c'est la fonction "integral" qui doit être utilisée apparemment : http://fr.mathworks.com/help/matlab/ref/integral.html

Edit : cependant tu dois utiliser une fonction symbolique, du coup je ne sais pas si ça correspond vraiment à ton cas ...