Gabiccs
-
Total de itens
4 -
Registro em
-
Última visita
Posts postados por Gabiccs
-
-
é, realmente essa parte estava errada. Obrigada!
Mas ainda assim o código não faz o que eu qria.
porque esse 'n' declarado na função main não percorre as matrizes da função f, que era o que eu precisava...
E, não sei como fazer isso.
Acredito que seja com ponteiros... Mas, como foge do que eu sei, vou ter que estudar ainda.
-
Criei um código que deveria encontrar o zero da função. Mas, deve ser aplicado 21 vezes (valores diferentes).
Fiz as matrizes que indicam tais valores, mas não consigo fazer o código percorrer as matrizes.
O resultado sempre apresenta os valores para quando 'n=0'.
'n' foi declarado como uma variável global.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int n = 0;
double f(float o)
{
double q[21]= {388.07341, 418.81479, 442.16885, 462.16931, 480.01095, 496.37744, 511.99764, 525.99764, 541.28612, 555.60796, 570.77167, 593.81948, 616.10838, 639.92981, 648.86987, 658.60439, 666.37960, 672.93722, 677.64320, 677.64320, 677.64320};
double p[21]= {131.31613, 141.60402, 148.87696, 155.24767, 161.23076, 166.96861, 171.67016, 179.48304, 187.87701, 191.80595, 202.06493, 225.74231, 258.89635, 286.37328, 301.45585, 317.76931, 334.90509, 353.95479, 375.74816, 404.68645, 420.15252};
double f[21]= {0.00022, 0.00068, 0.00124, 0.00192, 0.00275, 0.00376, 0.00494, 0.00659, 0.00910, 0.01179, 0.01553, 0.02290, 0.03279, 0.04229, 0.04697, 0.05168, 0.05684, 0.06319, 0.07201, 0.08735, 0.09867};
return (q[n] - o * pow (1 + 2.25*f[n]*f[n] - 2*1.5*f[n]*cosh ((3*p[n])/(2*o)),1/2));
}
main ()
{
int i, maxi;
i=1;
maxi=30;
float a,b, med, E;
a=300;
b=1000;
E= 0.0001;
while ((n=!20)) {
do {
med=(a+b)/2;
if (f(a)*f(med)<0)
{ b=med; }
else
{ a=med; }
i++;
}while (((b-a)>E) || (i<=maxi));
printf(" Ponto %d \nA raiz esta entro o intervalo %f e %f\n Sendo aproximadamente %f\n Foram necessarias %d iteracoes\n\n\n",n, a, b, med, i);
n++;
}
system ("pause");
} [/codebox]É possível incrementar o valor de uma variavel global??
Por favor alguém me ajude!!
-
Boa Tarde.
Preciso fazer um programa em C que encontre o zero de uma função do tipo f(x). O problema é que a função depende de valores que estão em uma matriz, e minhas tentativas até agora não deram certo.
Segue um trecho do código
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main ()
{
float q[20]= {388.07341, 418.81479, 442.16885, 462.16931, 480.01095, 496.37744, 511.99764, 525.99764, 541.28612, 555.60796, 570.77167, 593.81948, 616.10838, 639.92981, 648.86987, 658.60439, 666.37960, 672.93722, 677.64320, 677.64320, 677.64320};
float p[20]= {131.31613, 141.60402, 148.87696, 155.24767, 161.23076, 166.96861, 171.67016, 179.48304, 187.87701, 191.80595, 202.06493, 225.74231, 258.89635, 286.37328, 301.45585, 317.76931, 334.90509, 353.95479, 375.74816, 404.68645, 420.15252};
float f[20]= {0.00022, 0.00068, 0.00124, 0.00192, 0.00275, 0.00376, 0.00494, 0.00659, 0.00910, 0.01179, 0.01553, 0.02290, 0.03279, 0.04229, 0.04697, 0.05168, 0.05684, 0.06319, 0.07201, 0.08735, 0.09867};
int n;
n=1;
float o;
float F(o);
F(o) = q[n] - o * pow (1 + 2.25*f[n]*f[n] - 2*1.5*f[n]*cosh ((3*p[n])/(2*o)),1/2);
[/codebox]Aparece um erro dizendo que 'F' não pode ser usado como uma função.
Já vi em alguns códigos o uso do comando [n]return[/n], mas, a função não dependia de outros valores.
Alguém sabe o que posso fazer?
Obrigada.
Pergunta (simples)
em C, C++
Postado
Boa Noite.
Como posso indicar o módulo de um núemero em C, ou seja, o número sem o sinal, matematicamente representado por ||.
Tenho que usar no seguinte trecho
Mas, preciso que seja "Módulo de (b-a)" ou |(b-a)|
Att.