How to fix: nonconformant Arguments (Octave)

Asked

Viewed 49 times

0

Every time I try to run my code I keep making this mistake:

error: projetofinaltry: =: nonconformant arguments (op1 is 1x1, op2 is 1x46801)
error: called from
    projetofinaltry at line 108 column 14

Line 108 is highlighted

I don’t know how to correct because in my head all arguments would be 1x1 because they are part of a vector in position i

clear
clc

%Dados INMET Tamb = [21 22.4 24.7 27 28.6 29.8 32 33.1 32.4 33.6 33.2 33 29.9 25.5]; %Dados de temperatura instantanea entre 9 e 22 UTC (Celsius) Tamb = Tamb + 273.15; %Convertendo valores para Kelvin Rinci = [2.10 364.29 1253.72 2131.47 2845.62 3362.76 3575.38 3428 3248.82 2949.38 2075.68 1253.73 379.05 0.67]; %Dados de radiação no mesmo período Rinci = (Rinci * 1000) / 3600; %Convertendo para W

%Tempo tempo_h = 6:1:19; tempo = min(tempo_h):1/3600:max(tempo_h);

%Interpolação por spline spline_Tamb = spline(tempo_h,Tamb); spline_Rinci = spline(tempo_h,Rinci);

%Substituição de pontos na spline Tamb_refinado = ppval(spline_Tamb,tempo); Rinci_refinado = ppval(spline_Rinci,tempo);

%Inputs ro_w = 998; cpw = 4190; Vpool = 17.65; Kcapa = 0.05; delta_x = 0.00326; Apool = 18.4; FR = 0.6; UL = 11.45; alfa_c = 0.8; Acs = 20; Vwc = 0.1; vb = 0.75; Eb = 0.95; delta_Ton = 8; delta_Toff = 4; m = (ro_w * vb)/3600; bomba = 0; tempobomb = (ro_w * Vwc)/m;

%Inputs EDO1 Tpool(1) = 297.15; %Temperatura inicial da piscina em K Taq(1) = 293.15; %Temperatura inicial no coletor em K %tempo0 = 6; %tempof = 19; h = 1; %De um em um segundo duracao = length(tempo);

contbomba = zeros(1,duracao);%contagem do tempo da bomba até desligar tempolig = 0; %contagem do tempo total da bomba ligada

%Função Tpool function Tpool_linha = piscina(Tpool,Tamb_refinado,Qaq,Qcd_capa) Kcapa = 0.05; delta_x = 0.00326; Apool = 18.4; Tcapa = (Tpool + Tamb_refinado)/2; ro_w = 998; cpw = 4190; Vpool = 17.65; Qcd_capa = ((Kcapa/delta_x)* Apool * (Tcapa - Tpool)); Tpool_linha = (Qaq + Qcd_capa)/(ro_w * cpw * Vpool); endfunction

%Função Taq function Taq_linha = coletor(Rinci_refinado,Taq,Tamb_refinado) tempo_h = 6:1:19; tempo = min(tempo_h):1/3600:max(tempo_h); Tamb = [21 22.4 24.7 27 28.6 29.8 32 33.1 32.4 33.6 33.2 33 29.9 25.5]; %Dados de temperatura instantanea entre 9 e 22 UTC (Celsius) Tamb = Tamb + 273.15; Tamb_refinado = spline(tempo_h,Tamb,tempo); Rinci = [2.10 364.29 1253.72 2131.47 2845.62 3362.76 3575.38 3428 3248.82 2949.38 2075.68 1253.73 379.05 0.67]; %Dados de radiação no mesmo período Rinci = (Rinci * 1000) / 3600; %Convertendo para W Rinci_refinado = spline(tempo_h,Rinci,tempo); alfa_c = 0.8; Acs = 20; FR = 0.6; UL = 11.45; ro_w = 998; cpw = 4190; Vwc = 0.1; Rabs = alfa_c * Rinci_refinado;
Qcs = Acs * FR * (Rabs - UL * (Taq - Tamb_refinado)); Taq_linha = Qcs/(ro_w * cpw * Vwc); endfunction

for i = 1:1:duracao-1 %anotar contas tempo(i+1) = tempo(i) + h;

%Bomba if (Taq(i) - Tpool(i)) > delta_Ton bomba(i) = 1; elseif (Taq(i) - Tpool(i)) < delta_Toff bomba(i) = 0; contbomba(i) = 0; else bomba(i) = bomba(i-1); endif

%Cálculo da temperatura da água no coletor if (bomba(i) == 0) Qaq(i) = 0; %Transferência de calor é 0 Tcapa(i) = (Tpool(i) + Tamb_refinado(i))/2; Qcd_capa(i) = ((Kcapa/delta_x)* Apool * (Tcapa(i) - Tpool(i))); Taq(i+1) = Taq(i) + hcoletor(Rinci_refinado(i), Taq(i), Tamb_refinado(i));
Tpool(i+1) = Tpool(i) + hpiscina(Tpool(i), Tamb_refinado(i), Qaq(i), Qcd_capa(i));
else contbomba(i) = contbomba(i) + 1; tempolig = tempolig + 1;
if(contbomba(i) < tempobomb) Tcapa(i) = (Tpool(i) + Tamb_refinado(i))/2; Qcd_capa(i) = ((Kcapa/delta_x)* Apool * (Tcapa(i) - Tpool(i))); Qcs(i) = Acs * FR * (Rabs(i) - UL * (Taq(i) - Tamb_refinado(i))); Taq(i+1) = Taq(i) + hcoletor(Rinci_refinado(i), Qcs(i), Taq(i), Tamb_refinado(i)); Qaq(i) = m * cpw * (Taq(i)-Tpool(i)); Tpool(i+1) = Tpool(i) + hpiscina(Tpool(i), Tamb_refinado(i), Qaq(i), Qcd_capa(i));
else Tcapa(i) = (Tpool(i) + Tamb_refinado(i))/2; Qcd_capa(i) = ((Kcapa/delta_x)* Apool * (Tcapa(i) - Tpool(i))); Qcs(i) = Acs * FR * (Rabs(i) - UL * (Taq(i) - Tamb_refinado(i))); Taq(i+1) = (Qcs/(mcpw)) + Tpool(i); Qaq(i) = m * cpw * (Taq(i)-Tpool(i)); Tpool(i+1) = Tpool(i) + hpiscina(Tpool(i), Tamb_refinado(i), Qaq(i), Qcd_capa(i)); endif endif endfor

%Custo benefício Eb_total = Eb * (tempolig/3600); %Eb em kWh Eb_total = Eb_total * 3.6e6; %converter o valor para Joule tempo_v = duracao - 1; Qaq = m * cpw * (Taq(tempo_v) - Tpool(tempo_v)); %função que deseja-se integrar

%Teste do passo h vet_h = x(2:1:end) - x(1:1:end-1); if all(vet_h>h-1e-15 & vet_h<h+1e-15)==false disp('Passo h não uniforme ao longo de x!') disp('EXECUÇÃO ABORTADA') return endif

%Regra dos trapézios repetida Itr = h/2*(Qaq(1) + 2*sum(Qaq(2:1:end-1)) + Qaq(end));

COP = Itr/Eb_total; disp('O valor do coeficiente de desempenho é: ') disp(COP)

plot(tempo_h, Tpool, 'o') hold plot(tempo_h, Taq, 'x') figure %cria outro gráfico plot(tempo_h, Qaq, 'o') hold plot(tempo_h, Qcd_capa,'x')

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.