Campo Elétrico do Quadripolo
Publicado por Roberto Júnior 30/11/2006
[ Hits: 9.008 ]
Homepage: http://sites.google.com/site/dibetao
Publiquei aqui (VOL) um script de um programa em C que gera o gráfico de um campo elétrico por duas cargas opostas (dipolo elétrico). Agora, para ampliar e dar mais entendimento ao código, estou publicando uma variação do programa, um quadripolo (quatro cargas elétricas). Vale à pena conferir!
/** * @author Roberto Lima da C C Junior * @file campo2.c * * @begin Sab Nov 11 2006 * @copyright (C) 2006 by Roberto Lima * @email dibetao@gmail.com * PROGRAMA GERADOR DO GRAFICO DO CAMPO ELETRICO * * Usamos tres elementos vetoriais: * Ei : (campo eletrico da carga i) * Ri : (posicao da carga i) * r : (vetor que roda o espaco) * ou melhor E(r) - E em funcao de r * * E1 - Em relacao a carga 1 * E1[1] - Campo da carga 1 na dimensao 1 (que pode ser X) * E1[2] - Campo da carga 1 na dimensao 2 (que pode ser Y) * Assim como para as outras cargas. * * No caso: Quadrupolo Elétrico * * ______________ * | q1 q2 | * | | * | q4 q3 | * |____________| * Este programa plota o gráfico do campo elétrico gerado por quatro cargas elétricas puntiformes. Para gerar o gráfico voce terá que ter o GNUPlot. http://www.gnuplot.info/ Quando o programa for compilado (gcc campo2.c -lm -o campo2) e executado (./campo2), será criado um arquivo (dados.dat) onde estarão os dados a serem plotados no GNUPLot. Então basta executar o Gnuplot e digitar o seguinte comando: plot "dados.dat" w vectors; O será gerado o grafico do Campo Elétrico criado pelas cargas (gráfico vetorial). */ #include <stdio.h> #include <stdlib.h> #include <math.h> main() { int i,j,k; float C,q1,q2,q3,q4,x,y; float E1[4]={0}; float R1[4]={0,-30,30,0}; float E2[4]={0}; float R2[4]={0,30,30,0}; float E3[4]={0}; float R3[4]={0,30,-30,0}; float E4[4]={0}; float R4[4]={0,-30,-30,0}; float r[4]={0}; FILE *arq1; arq1= fopen("dados.dat","w+"); C=8; q1=1.0; q2=-1.0; q3=1.0; q4=-1.0; for (r[1]=-50; r[1]<=50; r[1]++) for (r[2]=-50; r[2]<=50; r[2]++) { E1[1] = (C*q1*(R1[1]-r[1]))/sqrt( pow(R1[1]-r[1],2) + pow(R1[2]-r[2],2)); E1[2] = (C*q1*(R1[2]-r[2]))/sqrt( pow(R1[1]-r[1],2) + pow(R1[2]-r[2],2)); E2[1] = (C*q2*(R2[1]-r[1]))/sqrt( pow(R2[1]-r[1],2) + pow(R2[2]-r[2],2)); E2[2] = (C*q2*(R2[2]-r[2]))/sqrt( pow(R2[1]-r[1],2) + pow(R2[2]-r[2],2)); E3[1] = (C*q3*(R3[1]-r[1]))/sqrt( pow(R3[1]-r[1],2) + pow(R3[2]-r[2],2)); E3[2] = (C*q3*(R3[2]-r[2]))/sqrt( pow(R3[1]-r[1],2) + pow(R3[2]-r[2],2)); E4[1] = (C*q4*(R4[1]-r[1]))/sqrt( pow(R4[1]-r[1],2) + pow(R4[2]-r[2],2)); E4[2] = (C*q4*(R4[2]-r[2]))/sqrt( pow(R4[1]-r[1],2) + pow(R4[2]-r[2],2)); fprintf(arq1,"\n%f %f %f %f",R1[1]-r[1]+R2[1]-r[1]+R3[1]-r[1]+R4[1]-r[1], R1[2]-r[2]+R2[2]-r[2]+R3[2]-r[2]+R4[2]-r[2], E1[1]+E2[1]+E3[1]+E4[1], E1[2]+E2[2]+E3[2]+E4[2]); } fclose(arq1); }
Exibe quantos números perfeitos foram digitados
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Como abrir o pycharm no linux (2)
VMs e Interfaces de Rede desapareceram (12)