Page 1 sur 1

[Matlab] Problème de fonction

MessagePosté: Mardi 26 Avril 2016, 12:06
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

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

MessagePosté: Mardi 26 Avril 2016, 12:32
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 ...