frw Postado Maio 28, 2005 Denunciar Share Postado Maio 28, 2005 Aew galera tem eu tenho que fazer um programa que calcule a integral de uma funcão F(x), me falaram que a math.h tem a opção de integrais, pelo que eu li eu so vi as funções sin cos tan pow e mais uma lá.please help. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rafaelbortoletto Postado Maio 29, 2005 Denunciar Share Postado Maio 29, 2005 (editado) Não achei nenhuma função para fazer integral na Math.h . Se você puder falar com que m te passou esta informação pode ser uma ajuda muito boa.Procurei na internet também e achei esta página com as funções de math.h mas nenhuma delas se refere a integral de uma função:http://www.cs.unibo.it/~montreso/doc/C/cor...000000000000000 Editado Maio 29, 2005 por rafaelbortoletto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frw Postado Maio 30, 2005 Autor Denunciar Share Postado Maio 30, 2005 realmente procurei em sites e em livros e nenhum deles citaram integrais e derivadas, vo procurar o cara que me passou a informação. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frw Postado Maio 31, 2005 Autor Denunciar Share Postado Maio 31, 2005 o cara "pensou" que existisse a função para integrar. sorry! =/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rafaelbortoletto Postado Maio 31, 2005 Denunciar Share Postado Maio 31, 2005 Sem problemas. Mas, se de repente existisse ia ser uma boa mesmo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PkD Postado Abril 18, 2007 Denunciar Share Postado Abril 18, 2007 aí eu tive que fazer um programa que que calcula a integral da funcao sqrt(1-x^2) , para isso eu não usei a biblioteca math porque eu escrevi x^2 da forma x*x, então não precisei da biblioteca math.h. O programa quando iniciado perguntao qual é o valor inicial e qual é o final e depois em quatas subdivisoes voce quer que ele faca. Vou colocar o programa aqui e a biblioteca que eu tinha que usar, que é uma diferente. não é a stdlib.h, é uma biblioteca que eu tenho que usar na facul, vo colocar ela tambem.#include "iolib.h" //biblioteca que tem que estar na mesma pasta do arquivo.double f (double x){return sqrt(1-x*x); //pra mudar a funcao mude ela aqui}double integraltrapezio(double x0 , double xn , int n){int i;double integral=0.0;double dx=(xn*x0)/n ;for ( i=0; i<n ; i++) { double xi=x0+i*dx;double xj=x0+(i+1)*dx ;double area = dx*(f(xi)+f(xj))/2;integral=integral+area; }return integral;}int main(void){int n ;double x0 , xn ;double valor ;writestring("Entre com o limited o intervalo( x0 e xn ) : ");x0 = readdouble();xn = readdouble();writestring("Entre com o numero de subdivisoe s : ");n = readint();valor =integraltrapezio(x0, xn, n);writestring("Valor da integral = ");writedouble(valor) ;return 0;}[/codebox]a iolib.h :[codebox]/* iolib.h** Biblioteca auxiliar de entrada e saída** ICC - PUC-Rio - 2007*/#ifndef IOLIB_H#define IOLIB_H#include <stdio.h>/******************************** Funções para leitura de dados entrados via teclado*//* Captura um valor inteiro */int readint (void);/* Captura um valor real (tipo float) */float readfloat (void);/* Captura um valor real (tipo double) */double readdouble (void);/* Captura um valor de um caractere simples que não seja um 'branco' */char readchar (void);/* Captura um valor de um caractere simples, incluindo 'brancos' */char readanychar (void);/* Captura um valor de uma cadeia de caracteres, sem espaços 'brancos'. O segundo parâmetro indica número máximo de caracteres a ser capturado.*/void readword (char s[], int nmax);/* Captura um valor de uma cadeia de caracteres, até o fim da linha, incluindo caracteres 'brancos'. O segundo parâmetro indica número máximo de caracteres a ser capturado.*/void readline (char s[], int nmax);/******************************** Funções para escrita de dados na tela*//* Escreve um valor inteiro */void writeint (int x);/* Escreve um valor real (tipo float) */void writefloat (float x);/* Escreve um valor real (tipo double) */void writedouble (double x);/* Escreve um caractere simples */void writechar (char x);/* Escreve uma cadeia de caracteres (sem pular linha) */void writestring (char s[]);/* Escreve uma linha de texto (acrescenta caractere de mudança de linha) */void writeline (char s[]);/* Escreve um caractere de mudança de linha (pula linha) */void newline (void);/****************************** Funções de entrada e saída para arquivos*//* Tipo que representa um arquivo */typedef FILE* FHANDLE;/* Abre um arquivo para leitura, dado o nome do arquivo. Se ocorrer erro na abertura do arquivo, o programa é abortado.*/FHANDLE fopenreadfile (char filename[]);/* Abre um arquivo para escrita, dado o nome do arquivo. Se ocorrer erro na abertura do arquivo, o programa é abortado.*/FHANDLE fopenwritefile (char filename[]);/* Fecha um arquivo previamente aberto */void fclosefile (FHANDLE f);/* Verifica se o final do arquivo foi alcançado, desprezando eventuais caracteres 'brancos' */int fisend (FHANDLE f);/* Captura próximo valor inteiro do arquivo */int freadint (FHANDLE f);/* Captura próximo valor real (tipo float) do arquivo */float freadfloat (FHANDLE f);/* Captura próximo valor real (tipo double) do arquivo */double freaddouble (FHANDLE f);/* Captura o próximo caractere simples do arquivo, desprezando eventuais 'brancos'*/char freadchar (FHANDLE f);/* Captura o próximo caractere simples do arquivo, incluindo eventuais 'brancos'*/char freadanychar (FHANDLE f);/* Captura próxima cadeia de caracteres sem 'brancos' do arquivo O terceiro parâmetro indica número máximo de caracteres a ser capturado.*/void freadword (FHANDLE f, char s[], int nmax);/* Captura próxima cadeia de caracteres do arquivo, até o fim da linha. O terceiro parâmetro indica número máximo de caracteres a ser capturado.*/void freadline (FHANDLE f, char s[], int nmax);/* Escreve valor inteiro no arquivo */void fwriteint (FHANDLE f, int x);/* Escreve valor real (tipo float) no arquivo */void fwritefloat (FHANDLE f, float x);/* Escreve valor real (tipo double) no arquivo */void fwritedouble (FHANDLE f, double x);/* Escreve caractere simples no arquivo */void fwritechar (FHANDLE f, char x);/* Escreve cadeia de caracteres no arquivo */void fwritestring (FHANDLE f, char s[]);/* Escreve caractere de nova linha no arquivo (muda de linha) */void fnewline (FHANDLE f);#endifagora para ela funcionar voce tem que colocar o arquivo iolib.c no mesmo projeto que o arquivo integrais.c, ai vai a iolib.c :/* iolib.c** Biblioteca auxiliar de entrada e saída** ICC - PUC-Rio - 2007*/#include "iolib.h"#include <stdlib.h>int readint (void){ return freadint(stdin);}float readfloat (void){ return freadfloat(stdin);}double readdouble (void){ return freaddouble(stdin);}char readchar (void){ return freadchar(stdin);}char readanychar (void){ return freadanychar(stdin);}void readword (char s[], int nmax){ freadword(stdin,s,nmax);}void readline (char s[], int nmax){ freadline(stdin,s,nmax);}void writechar (char x){ fwritechar(stdout,x);}void writeint (int x){ fwriteint(stdout,x); newline();}void writefloat (float x){ fwritefloat(stdout,x); newline();}void writedouble (double x){ fwritedouble(stdout,x); newline();}void writestring (char s[]){ fwritestring(stdout,s);}void writeline (char s[]){ writestring(s); newline();}void newline (void){ fnewline(stdout);}FHANDLE fopenreadfile (char filename[]){ FHANDLE f = fopen(filename,"rt"); if (f == NULL) { fprintf(stderr,"Erro na abertura do arquivo de leitura: %s\n",filename); exit(1); } return f; }FHANDLE fopenwritefile (char filename[]){ FHANDLE f = fopen(filename,"wt"); if (f == NULL) { fprintf(stderr,"Erro na abertura do arquivo de escrita: %s\n",filename); exit(1); } return f; }void fclosefile (FHANDLE f){ fclose(f);}int fisend (FHANDLE f){ char c; if (fscanf(f," %c",&c)!=1) return 1; ungetc(c,f); return 0;}char freadchar (FHANDLE f){ char v; if (fscanf(f," %c",&v) != 1) { fprintf(stderr,"Erro na leitura do 'char'.\n"); exit(1); } return v;}char freadanychar (FHANDLE f){ char v; if (fscanf(f,"%c",&v) != 1) { fprintf(stderr,"Erro na leitura do 'char'.\n"); exit(1); } return v;}int freadint (FHANDLE f){ int v; if (fscanf(f,"%d",&v) != 1) { fprintf(stderr,"Erro na leitura do 'int'.\n"); exit(1); } return v;}float freadfloat (FHANDLE f){ float v; if (fscanf(f,"%g",&v) != 1) { fprintf(stderr,"Erro na leitura do 'float'.\n"); exit(1); } return v;}double freaddouble (FHANDLE f){ double v; if (fscanf(f,"%lg",&v) != 1) { fprintf(stderr,"Erro na leitura do 'double'.\n"); exit(1); } return v;}void freadword (FHANDLE f, char s[], int nmax){ char fmt[BUFSIZ]; sprintf(fmt,"%%%ds",nmax-1); if (fscanf(f,fmt,s) != 1) { fprintf(stderr,"Erro na leitura do 'string'.\n"); exit(1); }}void freadline (FHANDLE f, char s[], int nmax){ char fmt[BUFSIZ]; sprintf(fmt," %%%d[^\n]%%1*[\n]",nmax-1); if (fscanf(f,fmt,s) != 1) { fprintf(stderr,"Erro na leitura do 'string'.\n"); exit(1); }}void fwritechar (FHANDLE f, char x){ fprintf(f,"%c",x);}void fwriteint (FHANDLE f, int x){ fprintf(f,"%d ",x);}void fwritefloat (FHANDLE f, float x){ fprintf(f,"%.20g ",x);}void fwritedouble (FHANDLE f, double x){ fprintf(f,"%.20g ",x);}void fwritestring (FHANDLE f, char s[]){ fprintf(f,"%s ",s);}void fwriteline (FHANDLE f, char s[]){ fwritestring(f,s); fnewline(f);}void fnewline (FHANDLE f){ fprintf(f,"\n");}[/codebox]Po é isso, espero que eu tenha ajudado... ;) Falow Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
frw
Aew galera tem eu tenho que fazer um programa que calcule a integral de uma funcão F(x), me falaram que a math.h tem a opção de integrais, pelo que eu li eu so vi as funções sin cos tan pow e mais uma lá.
please help.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.