Campo Elétrico do Quadripolo
Publicado por Roberto Júnior 30/11/2006
[ Hits: 9.121 ]
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); }
Full linux c++ implementation of conio.h (conio.h para linux)
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Proteja seu Linux Mint com o Timeshift: Restaure o sistema mesmo que ele não inicie!
Instalando Google Chrome no Debian 13
Alguém pode me recomendar um editor de textos? (0)
meus dois pen drives não são mais reconhecidos pelo meu PC apos tentar... (1)