domingo, 29 de novembro de 2015

Introdução a Programação C - Aula de 30/11

Senhores alunos:


Segue o link para acessar o material da nossa aula de hoje:
  • Classes de Armazenamento;
  • O Pré-processador C e as macros.

Até amanhã!

quinta-feira, 26 de novembro de 2015

Computação Científica - Aula de 30/11

Senhores alunos:


Baixem aqui o material da nossa próxima aula que trata do tema "Matriz inversa e número de condição".
Em função de minha participação  em uma banca de concurso público nesse dia, excepcionalmente trabalharemos com um estudo dirigido.
Vocês resolveram em aula os exercícios 8.1 a 8.5, sendo que deixarei no dia um material de apoio para a realização das atividades.
A pergunta feita em aula de "porque utilizar a Fatoração LU" é respondida no início do material.

Boa fim de semana!

quarta-feira, 25 de novembro de 2015

Lista de exercícios sobre transitórios de segunda ordem

Senhores Alunos:



Disponibilizo, a lista de exercícios para preparação para a avaliação dos transitórios de segunda ordem. Apenas  o primeiro exercício não foi selecionado do livro texto.

A propósito, no primeiro exercício, o primeiro gráfico representa a corrente no indutor em um circuito RL série, medida em ampères. O segundo gráfico representa a tensão no capacitor de um circuito RLC série, medida em volts.

Keywords:  transient response, second-order, parallel RLC circuit, series RLC circuits, exercises.

Respostas:

1. R = 5 Ohms
    L = 0,32 H
    C = 3,7 mF
    Valores aproximados.

8.12 a) C > 6 mF  b) C = 6 mF c) C < 6 mF
8.13 R > 120 Ohms
8.14 v = -1,33 (e^-0,5t - e^-0,2t)
8.15 L = 25H, C= 0,2 mF e R = 750 Ohms
8.22 C = 0,05 uF
8.23 C = 40 mF
8.24 i = e^-10t ( 4 cos 19,36 t + 1,05 sen 19,36 t)
8.30 C = 150 nF
8.31 VL(0+) = 80
8.36 v = 35 e^-0,8t (15 sen 0,6t + 20 sen 0,6 t)
        i = 5 e^-0,8t sen 0,6t
8.43 R = 8 ohms e C= 2,075 mF
8.47 v = 200 t e^-10t
8.53 i'' + (5/4) i' + 100 i = 600

terça-feira, 17 de novembro de 2015

Transitórios RLC série/paralelo de segunda ordem - Script com Scilab

Senhores Alunos:


Segue, abaixo, o script Scilab completo para o cálculo das constantes da solução das equações diferenciais e o traçado dos gráfico da corrente e da tensão dos transitórios RLC série e paralelo de segunda ordem.

Bom uso!

Keywords: transient response, second-order, parallel RLC circuit, series RLC circuit, Scilab.

----------------------------------------------------------------------

clc;
clear ;
xdel(winsid());
disp('Avaliação da Corrente no transitório RLC de 2a ordem');
Tipo = input('Informe <1> para circ. serie <2> para paralelo: ')
disp('Entrada de Dados');
R = input('Valor de R =');
L = input('Valor de L =');
C = input('Valor de C =');
I0 = input('Valor de I0 =');
V0 = input('Valor de V0 =');
w0 = 1/(sqrt(L*C));
if Tipo==1
    Vs = input('Valor de Vs =');
    dI0 = -(-Vs+R*I0+V0)/L;
    dV0 = I0/C
    alpha = R/(2*L);
else 
    Is = input('Valor de Is =');
    dV0 = -(-Is+I0+V0/R)/C;
    dI0 = V0/L;
    alpha = 1/(2*R*C);
end     
printf('di(0)/dt = %.2f, alpha = %.2f, w0 = %.2f\n',dI0,alpha,w0); 
printf('dv(0)/dt = %.2f\n',dV0); 
if Tipo==1
    if alpha<w0
        disp('Caso subamortecido');
        wd = sqrt(w0^2-alpha^2);
        A1 = I0;
        A2 = (dI0 + alpha*A1)/wd;
        A3 = V0 - Vs;
        A4 = (dV0 + alpha*A3)/wd;
        printf('s1 = %.2f + j%.2f, s2 = %.2f - j%.2f\n',-alpha,wd,-alpha,wd);
        printf('wd = %.2f\n',wd);
        t = 0:0.001:5/alpha;
        i = exp(-alpha*t).*(A1*cos(wd*t) + A2*sin(wd*t));
        il = 'exp(-alpha*t)*(A1*cos(wd*t) + A2*sin(wd*t))';
        v = exp(-alpha*t).*(A3*cos(wd*t) + A4*sin(wd*t)) + Vs;
        vc = 'exp(-alpha*t)*(A3*cos(wd*t) + A4*sin(wd*t)) + Vs';
    elseif alpha>w0
        disp('Caso superamortecido');
        delta = sqrt(alpha^2-w0^2);
        s1 = -alpha + delta;
        s2 = -alpha - delta;
        A2 = (s1*I0 -dI0)/(2*delta);
        A1 = I0 - A2;
        A4 = (s1*(V0-Vs)-dV0)/(2*delta);
        A3 = V0 - Vs - A4;
        printf('s1 = %.2f, s2 = %.2f\n',s1,s2);
        tau = (1/s1)*(A1/A2); // pondera em relação as constantes
        t = 0:0.001:6*abs(tau);
        i = A1*exp(s1*t) + A2*exp(s2*t);
        il = 'A1*exp(s1*t) + A2*exp(s2*t)';
        v = A3*exp(s1*t) + A4*exp(s2*t) + Vs;
        vc = 'A3*exp(s1*t) + A4*exp(s2*t) + Vs';
    else
        disp('Caso de amortecimento crítico');
        s = -alpha;
        A2 = I0;
        A1 = dI0 + alpha*A2;
        A4 = V0 - Vs;
        A3 = dV0 + alpha*A4;
        printf('s = %.2f\n',s);
        t = 0:0.001:5/alpha;
        i = (A2 + A1*t).*exp(s*t);
        v = (A4 + A3*t).*exp(s*t) + Vs;
        il = '(A2 + A1*t)*exp(s*t)';
        vc = '(A4 + A3*t)*exp(s*t) + Vs';
    end
else  
    if alpha<w0
        disp('Caso subamortecido');
        wd = sqrt(w0^2-alpha^2);
        A3 = V0;
        A4 = (dV0 + alpha*A3)/wd;
        A1 = I0 - Is;
        A2 = (dI0 + alpha*A1)/wd;
        printf('s1 = %.2f + j%.2f, s2 = %.2f - j%.2f\n',-alpha,wd,-alpha,wd);
        printf('wd = %.2f\n',wd);
        t = 0:0.001:5/alpha;
        v = exp(-alpha*t).*(A3*cos(wd*t) + A4*sin(wd*t));
        i = exp(-alpha*t).*(A1*cos(wd*t) + A2*sin(wd*t)) + Is;
        vc = 'exp(-alpha*t)*(A3*cos(wd*t) + A4*sin(wd*t))';
        il = 'exp(-alpha*t)*(A1*cos(wd*t) + A2*sin(wd*t)) + Is';
    elseif alpha>w0
        disp('Caso superamortecido');
        delta = sqrt(alpha^2-w0^2);
        s1 = -alpha + delta;
        s2 = -alpha - delta;
        A4 = (s1*V0 -dV0)/(2*delta);
        A3 = V0 - A4;
        A2 = (s1*(I0-Is)-dI0)/(2*delta);
        A1 = I0 - Is - A2;
        printf('s1 = %.2f, s2 = %.2f\n',s1,s2);
        tau = (1/s1)*(A1/A2);// pondera em relação as constantes
        t = 0:0.001:6*abs(tau);
        v = A3*exp(s1*t) + A4*exp(s2*t);
        i = A1*exp(s1*t) + A2*exp(s2*t) + Is;
        vc = 'A3*exp(s1*t) + A4*exp(s2*t)';
        il = 'A1*exp(s1*t) + A2*exp(s2*t) + Is';
    else
        disp('Caso de amortecimento crítico');
        s = -alpha;
        A4 = V0;
        A3 = dV0 + alpha*A4;
        A2 = I0 - Is;
        A1 = dI0 + alpha*A2;
        printf('s = %.2f\n',s);
        t = 0:0.001:5/alpha;
        v = (A4 + A3*t).*exp(s*t);
        i = (A2 + A1*t).*exp(s*t) + Is;
        vc = '(A4 + A3*t)*exp(s*t)';
        il = '(A2 + A1*t)*exp(s*t) + Is';
    end
end 
printf('Constantes ED corrente, A1 = %.2f, A2 = %.2f\n',A1,A2);
printf('Constantes ED tensao, A3 = %.2f, A4 = %.2f\n',A3,A4);
printf("il(t) = %s\n",il);
printf("vc(t) = %s",vc);
subplot(211);
plot(t,i)
xlabel('Tempo (s)');
ylabel('Corrente (A)');
xgrid;
subplot(212);
plot(t,v)
xlabel('Tempo (s)');
ylabel('Tensão (A)');
xgrid;

Programação de Computadores I - Aula de 19/11

Senhores Alunos:

Baixem no link abaixo o material de nossa próxima aula:

Tipos de dados compostos: vetores.

Até quinta.

Computação Científica - Aula de 23/11

Senhores alunos:


Baixem aqui o material da nossa próxima aula que trata do tema "Fatorações LU e de Cholesky".

Boa semana!

segunda-feira, 16 de novembro de 2015

Introdução a Programação C - Aula de 16/11

Senhores alunos:

A partir deste link é possível acessar o conteúdo da segunda parte da nossa aula de hoje.

Até a noite!

quarta-feira, 11 de novembro de 2015

terça-feira, 10 de novembro de 2015

Programação de Computadores I - Primeira Avaliação

Senhores Alunos:

Na aula da próxima quinta-feira será concluída a exposição do conteúdo relativo a nossa primeira avaliação, ficando a nossa avaliação para o dia 26/11. 

Em função disso, disponibilizo nesse link uma pequena coletânea de questões relacionadas com o conteúdo.

Entretanto, lembro que "a disciplina não trabalha com lista de exercícios, os exercícios devem ser buscados na literatura" (postagem de 30 de setembro de 2015). Na internet também é possível encontrar inúmeras "listas de exercícios". Assim, quem não começou a fazer exercícios, mãos à obra!

Até a próxima quinta.

Programação de Computadores I - Aula de 12/11

Senhores alunos:


Abaixo estão disponíveis as notas de aula relativas a sequência de nosso conteúdo.

Seleção de multipla escolha.

Até quinta!

segunda-feira, 9 de novembro de 2015

quarta-feira, 4 de novembro de 2015