Matlab - Como crear un Fichero de parametros para una funcion.

 
Vista:
Imágen de perfil de Guillermo Diego
Val: 4
Ha disminuido su posición en 7 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Como crear un Fichero de parametros para una funcion.

Publicado por Guillermo Diego (2 intervenciones) el 16/05/2018 06:41:24
Hola, que tal, mi problema es que tengo una Funcion para el calculo de una IPR, la cual llama a un fichero de parametros pero no lo tengo, y no se como es el formato para crearlo, pero tengo la descripcion de como debe ser, para que el usuario meta los datos.

Les anexo el Codigo Fuente y la foto de las instrucciones para el fichero.
espero me puedan guiar de como hacer ese fichero de parametros.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
function [XIPR YIPR]=FIPR(PR,PB,PWFT,QLT,FET,PWF,FE)
%PR psig. Presion promedio del yacimiento.
%PB psig. presion del punto de burbuja.
%PWFT psig. Presion de flujo existente durante la prueba.
%QLT STB/D. Tasa de flujo existente durante la prueba.
%FET Adimensional. Eficiencia de flujo existente durante la prueba.
%PWF psig. Presion de flujo a la que se desea calcular la tasa de flujo
%(Vector columna).
%FE Adimensional. Eficiencia de flujo a la que se desea calcular la tasa de
%flujo.
 nump=length(PWF);
 yq=zeros(nump,1);
 
 for ind=1:nump
 
if PWF(ind)>=0 && PWF(ind)<=PR && PWFT>=0 && PWFT<PR && QLT>0
&& FET>0 && FE>0
 if PR>PB
 if PWFT>=PB
 jt=QLT/(PR-PWFT);
 else
 jt=QLT/(PR-PB+PB/1.8*(1.8*(1-PWFT/PB)-0.8*FET*(1-PWFT/PB)^2));
 end
 if FE~=FET
 j=jt*FE/FET;
 else
 j=jt;
 end
 if PWF(ind)>=PB
 yq(ind)=j*(PR-PWF(ind));
 else
 if FE>1
 rstrccn=PB*(1-1/FE);
 if PWF(ind)>=rstrccn
 yq(ind)=j*(PR-PB)+j*PB/1.8*(1.8*(1-PWF(ind)/PB)-0.8*FE*(1-
PWF(ind)/PB)^2);
 else
 yq(ind)=nan;
 end
 else
261
 yq(ind)=j*(PR-PB)+j*PB/1.8*(1.8*(1-PWF(ind)/PB)-0.8*FE*(1-
PWF(ind)/PB)^2);
 end
 end
 else
 qlmaxfe_1=QLT/(1.8*FET*(1-PWFT/PR)-0.8*FET^2*(1-PWFT/PR)^2);
 if FE>1
 rstrccn=PR*(1-1/FE);
 if PWF(ind)>=rstrccn
 yq(ind)=qlmaxfe_1*(1.8*FE*(1-PWF(ind)/PR)-0.8*FE^2*(1-
PWF(ind)/PR)^2);
 else
 yq(ind)=nan;
 end
 else
 yq(ind)=qlmaxfe_1*(1.8*FE*(1-PWF(ind)/PR)-0.8*FE^2*(1-
PWF(ind)/PR)^2);
 end
 end
else
 yq=nan;
end
 end
XIPR=yq;
YIPR=PWF;

instrucciones
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como crear un Fichero de parametros para una funcion.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 18/05/2018 02:27:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
function [XIPR, YIPR]=FIPR(PR,PB,PWFT,QLT,FET,PWF,FE)
if nargin ==0
    PR=12000*rand;
    PB=2000*rand;
    PWFT=150*rand;
    QLT=330*rand;
    FET=110*rand;
    PWF=4500:100:5000;
    FE=210*rand;
end
 
%PR psig. Presion promedio del yacimiento.
%PB psig. presion del punto de burbuja.
%PWFT psig. Presion de flujo existente durante la prueba.
%QLT STB/D. Tasa de flujo existente durante la prueba.
%FET Adimensional. Eficiencia de flujo existente durante la prueba.
%PWF psig. Presion de flujo a la que se desea calcular la tasa de flujo
%(Vector columna).
%FE Adimensional. Eficiencia de flujo a la que se desea calcular la tasa de
%flujo.
 nump=length(PWF);
 yq=zeros(nump,1);
 
 for ind=1:nump
 
if PWF(ind)>=0 && PWF(ind)<=PR && PWFT>=0 && PWFT<PR && QLT>0 && FET>0 && FE>0
 if PR>PB
 if PWFT>=PB
 jt=QLT/(PR-PWFT);
 else
 jt=QLT/(PR-PB+PB/1.8*(1.8*(1-PWFT/PB)-0.8*FET*(1-PWFT/PB)^2));
 end
 if FE~=FET
 j=jt*FE/FET;
 else
 j=jt;
 end
 if PWF(ind)>=PB
 yq(ind)=j*(PR-PWF(ind));
 else
 if FE>1
 rstrccn=PB*(1-1/FE);
 if PWF(ind)>=rstrccn
 yq(ind)=j*(PR-PB)+j*PB/1.8*(1.8*(1-PWF(ind)/PB)-0.8*FE*(1-PWF(ind)/PB)^2);
 else
 yq(ind)=nan;
 end
 else
 
 yq(ind)=j*(PR-PB)+j*PB/1.8*(1.8*(1-PWF(ind)/PB)-0.8*FE*(1-PWF(ind)/PB)^2);
 end
 end
 else
 qlmaxfe_1=QLT/(1.8*FET*(1-PWFT/PR)-0.8*FET^2*(1-PWFT/PR)^2);
 if FE>1
 rstrccn=PR*(1-1/FE);
 if PWF(ind)>=rstrccn
 yq(ind)=qlmaxfe_1*(1.8*FE*(1-PWF(ind)/PR)-0.8*FE^2*(1-PWF(ind)/PR)^2);
 else
 yq(ind)=nan;
 end
 else
 yq(ind)=qlmaxfe_1*(1.8*FE*(1-PWF(ind)/PR)-0.8*FE^2*(1-PWF(ind)/PR)^2);
 end
 end
else
 yq=nan;
end
 end
XIPR=yq;
YIPR=PWF;


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
> [XIPR, YIPR]=FIPR
 
XIPR =
 
 -543.8914
 -526.4158
 -508.9401
 -491.4645
 -473.9889
 -456.5133
 
 
YIPR =
 
        4500        4600        4700        4800        4900        5000

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Guillermo Diego
Val: 4
Ha disminuido su posición en 7 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Como crear un Fichero de parametros para una funcion.

Publicado por Guillermo Diego (2 intervenciones) el 18/05/2018 05:36:55
Gracias compañero, fue de mucha ayuda para mi proyecto Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar