Campo Elétrico
Publicado por Roberto Júnior 12/04/2006
[ Hits: 10.917 ]
Homepage: http://sites.google.com/site/dibetao
Este programa plota o gráfico do campo elétrico
gerado por duas caragas elétricas puntiformes.
/** * @author Roberto Lima da C C Junior * @file campo.c * * @begin Qui Mar 30 2006 * @copyright (C) 2006 by Roberto Lima * @email dibetao@gmail.com Este programa plota o gráfico do campo elétrico gerado por duas caragas elétricas puntiformes. Para gerar o gráfico voce terá que ter o GNUPlot. http://www.gnuplot.info/ Quando o programa for compilado (gcc campo.c -lm -o campo) e executado (./campo), 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 duas cargas "q1" e "q2" (gráfico vetorial). */ #include <stdio.h> #include <stdlib.h> #include <math.h> main() { int i,j,k; int C,q1,q2,x,y; float E1[4]={0};//Cria o vetor Campo Elétrico E1 e zera float R1[4]={0,5,0,0};//Posição da Carga 1 (R1) float E2[4]={0};//Cria o vetor Campo Elétrico E2 e zera float R2[4]={0,-5,0,0};//Posição da Carga 2 (R2) float r[4]={0};//Cria vetor "r", que será feita a "varredura" no espaço. FILE *arq1;//Arquivo de saida dos dados. arq1= fopen("dados.dat","w+");//Nome do Arquivo de Saida dos dados (será criado). C=1;//Constante q1=1; q2=-1;//Valor das Cargas q1 e q2 for (r[1]=-15; r[1]<=15; r[1]++) for (r[2]=-15; r[2]<=15; 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)); fprintf(arq1,"\n%f %f %f %f",R1[1]-r[1]+R2[1]-r[1],R1[2]-r[2]+R2[2]-r[2], E1[1]+E2[1], E1[2]+E2[2]); } printf("\n"); fclose(arq1); } //FIM de "campo.c"
CPU e memória em C no GNU/Linux
Balanceamento de parênteses utilizando Pilha
Como verificar a validade de um CPF
Sequência fibonacci com 35 linhas e for
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta