Ir para conteúdo
Fórum Script Brasil
  • 0

erro função matlab- como resolver


ronyfonseca

Pergunta

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 para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...