N'hésitez pas à consulter les offres premium proposées par le service de stockage en ligne pCloud et inscrivez-vous afin d'obtenir 10Go de stockage gratuits.
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.
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 :
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
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 ?