[Matlab] Problème de fonction

Tout ce qui concerne les logiciels mathématiques (Matlab, Maxima, Scilab, R, ...) ou les calculatrices scientifiques.
[forum modéré par les modérateurs globaux du site]
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
Utilisateur débutant
Utilisateur débutant
Messages : 2
Inscription : jeudi 14 avril 2016, 13:41

[Matlab] Problème de fonction

Message 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
Utilisateur confirmé
Utilisateur confirmé
Messages : 17
Inscription : lundi 22 avril 2013, 19:02
Localisation : Valenciennes

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

Message 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 ...