Campo Elétrico
Publicado por Roberto Júnior 12/04/2006
[ Hits: 11.115 ]
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"
Patch para Zsnes 1.51 com GCC>=4.3
Crud em C++ orientado a objetos com banco de dados MySQL
Cálculo de divisores de um número.
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Miyoo Mini Plus + Onion OS (Linux)
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como listar os arquivos em "bloquin... [RESOLVIDO] (4)
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (1)
Como vencer a procrastinação? (8)
Adicional de convivdado em linux somente linha de comando (3)