Jump to content
Fórum Script Brasil
  • 0

erro função matlab- como resolver


ronyfonseca

Question

Ola galera,

estou desenvolvendo uma função que chama outras para efetuar os cálculos e retornar a resposta. Porem quando rodo a função que criei, ela me da a resposta final porem logo após isso ela apresenta o seguinte erro:

>> Propppc(0.7 , 'gu' , 0.0 , 0.0 ,0.1, 'wagc' )

Ppcc =

689.4415

Tpcc =

367.8363

Error in ==> Proppcgcwa at 24

dg = (dm - 0.967 * yN2 - 1.52*yCO2-1.18*yH2S)/ (1- yN2 -yCO2 - yH2S);

??? Output argument "Proppcgcwa" (and maybe others) not assigned during call to

"C:\Users\Rony\Documents\Conhecimentos\Lenep\Monografia\codigos Matlab\Proppcgcwa.m>Proppcgcwa".

Error in ==> Propppc at 105

Proppc = Proppcgcwa (dm ,tipodegas, yN2,yH2S,yCO2); %Wichert & Aziz

O código da função que chama as outras para realizar os cálculos é esse:

%Proppc = propriedadespseudocriticas (dg, tipodegas, yN2,yH2S, yCO2,

%metodo)

%

%Proppc é a função que retorna:

%1- os valores de pseudopressão(Ppc) e pseudotemperatura(Tpc)

%para gases naturais puro

%

%2- os valores de pseudopressão(Ppcc) e pseudotemperatura(Tpcc)

%para gases naturais contaminados

%

%Instruções:

%

%1-Para gases naturais sem contaminantes entre com:

%Proppc = (dg, tipodegas)

%

% dg - densidade do gás (0.55 < dg < 2)

%

% tipodegas - tipo de gás:

% 'gu' = gás natural úmido

% 'gs' = gás natural seco

%

%

%2-Para gases naturais contaminados com N2, H2s e/ou CO2, entre com:

%Proppc = (dm, tipodegas, yN2,yH2S, yCO2, metodo)

%

% yN2 = porcentagem de N2

% yH2S = porcentagem de H2S

% yCO2 = pocentagem de CO2

% dm = densidade da mistura(hidrocarbonetos gasosos e contaminates)

% (0.55 < dm < 2)

%

% tipodegas - tipo de gás:

% 'gu' = gás natural úmido

% 'gs' = gás natural seco

%

% metodo = método:

% 'wagc' = Wichert & Aziz;

% 'ckbgc' = Carr-Kobayashi-Burrows;

%

%

function Proppc = propriedadespseudocriticas (dg, tipodegas, yN2,yH2S, yCO2, metodo)

if nargin < 2,

error('Proppc:NotEnoughInputs',...

'propriedadespseudocriticas requere pelo menos dois argumentos');

end

% inicialização

if (nargin > 1) && (nargin <3),

metodo = 'sgn';

yN2=2.32;

yH2S=0;

yCO2=0;

end

% Checagem de entrada errada de argumentos não double

if (~isa(dg,'double'))

error('Proppc:NonDoubleImputs', ...

'propriedadespseudocriticas somente aceita', ...

'aceita entrada de dados do tipo double para as variáveis',...

'dg, yN2,yH2S, yCO2')

end

%checagem da densidade

if any( dg < 0.55|| dg>2);

error ('dg:paramOutOfRange',...

'valor fora do intervalo mínimo dg=0,55 para um gás de composto somente com metano, dg=2 valor máximo')

end

%checagem de dados corretos

if (nargin >= 3) && (nargin <6),

error ('Proppc:NotEnoughInputs',...

'propriedadescriticas requer 5 argumentos para cálculos com gases naturais contaminados')

end

switch metodo

case 'sgn'

Proppc = Proppcgn(dg, tipodegas); % standing

case 'ckbgc'

dm = dg;

if (~isa(dg,'double') || ~isa(yN2,'double') || ~isa(yH2S,'double') ...

|| ~isa(yCO2,'double'))

error('Proppc:NonDoubleImputs', ...

'propriedadespseudocriticas somente aceita entrada de dados do tipo double para as variáveis dg, yN2,yH2S, yCO2')

end

Proppc = Proppcgcckb (dg ,tipodegas, yN2,yH2S,yCO2);%Carr-Kobayashi-Burrows

case 'wagc'

dm = dg;

Proppc = Proppcgcwa (dm ,tipodegas, yN2,yH2S,yCO2); %Wichert & Aziz

if (~isa(dg,'double') || ~isa(yN2,'double') || ~isa(yH2S,'double') ...

|| ~isa(yCO2,'double'))

error('Proppc:NonDoubleImputs', ...

'propriedadespseudocriticas somente aceita entrada de dados do tipo double para as variáveis dg, yN2,yH2S, yCO2')

end

otherwise

Proppc = Proppcgn(dg, tipodegas); % standing

end

return;

e uma das funções que realizam os cálculos é essa:

%Proppcgcwa(Tpcc, Ppcc)=Propriedadespseudocriticadegasescontminadoswa

%(dg, tipodegas)(yN2,yH2S, yCO2,dg, tipodegas)

% yN2 = porcentagem de N2

% yH2S = porcentagem de H2S

% yCO2 = pocentagem de CO2

% dm = densidade da mistura(hidrocarbonetos gasosos e contaminates);

%

% tipodegas - tipo de gás:

% 'gu' = gás natural úmido

% 'gs' = gás natural seco

%retorna:

%Ppcc= pressão pseudo-crítica com correção de contaminates (psia)

%Tpcc= temperatura pseudo-crítica com correção de contaminates ®

function Proppcgcwa = Propriedadespseudocriticadegasescontminadoswa(dm, tipodegas, yN2,yH2S, yCO2)

%densidade de hidrocarbonetos

dg = (dm - 0.967 * yN2 - 1.52*yCO2-1.18*yH2S)/ (1- yN2 -yCO2 - yH2S);

%propriedades dos hidrocarbonetos

switch tipodegas

case 'gu'

Ppc = 677 + 15*dg - 37.5*dg^2; % gás úmido

Tpc = 168 + 325*dg - 12.5*dg^2; % gás úmido

case 'gs'

Ppc = 706 - 51.7*dg - 11.1* dg^2 ; %gás seco

Tpc = 187 + 330 * dg - 71.5 * dg^2 ; %gás seco

otherwise

Ppc = 677 + 15*dg - 37.5*dg^2 ; %gás úmido

Tpc = 168 + 325*dg - 12.5*dg^2 ; % gás úmido

end

%propriedades da mistura

Ppcm = (1- yN2 -yCO2 - yH2S)*Ppc + 493*yN2 + 1071*yCO2 + 1306* yH2S;

Tpcm = (1- yN2 -yCO2 - yH2S)*Tpc + 227*yN2 + 548*yCO2 + 672* yH2S;

%ajustes

e = 120* (((yCO2+yH2S)^0.9) - ((yCO2 + yH2S)^1.6)) + 15*((yH2S^0.5) -(yH2S^4));

Ppcc = (Ppcm*( Tpcm - e))/(Tpcm + yH2S*(1-yH2S)* e)

Tpcc = (Tpcm - e)

return;

se alguém puder me ajudar ficarei muito grato...

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...