Merhaba arkadaşlar.Başlıkta olduğu gibi bir programla uğraşmaktayım.Bunu daha da geliştirmeyi düşünüyorum ama tabiki de eksikliklerim ve hatalarım var.Bunları düzeltmeme yardımcı olursanız sevinirim.
double f(double x); double integral(int a, int b);
int main() { double c; c = integral(0,5); printf("%lf The result of riemann sums.", c); getch(); return 0; } double f(double x) { return x*x; } double integral(int a, int b) { int i; double sum; double y=0; double x; double h; h = (b - a) / N; for (i = 1; i < N; i++) { x = x + i; y = sqrt(x); y+=(a + h*i); sum= h*y; } f(x); return 0; }
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Daha önce simpson ile yapmıştım, riemann ile hiç denemedim fakat kodunuzda x'e başlangıç değeri vermemişsiniz.Düzelte düzelte doğruyu bulabileceğinize eminim.
Başlangıç değerimizle bitiş değerimizin arasını çok fazla sayıda dikdörtgene bölüyoruz ve çok fazla sayıda olan bu dikdörtgenlerin alanlarını topluyoruz. Böylece gerçeğe en yakın sonucu buluyoruz. Dikdörtgenlerin taban genişlikleri her seferinde "artis" diye bahsettiğim çok küçük bir sayı oluyor. Dikdörtgenlerin yükseklik değeri ise bulunulan x noktasının fonksiyondan return edilen değeri oluyor.
#include <stdio.h> #include <stdlib.h>
double f(double x){ return x*x; }
double integral(double baslangic,double son){ int cokBuyukSayi=100000,i; double artis=(son-baslangic)/cokBuyukSayi; double toplam=0;
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <conio.h>
#include <math.h>
#define N 1000
double f(double x);
double integral(int a, int b);
int main() {
double c;
c = integral(0,5);
printf("%lf The result of riemann sums.", c);
getch();
return 0;
}
double f(double x)
{
return x*x;
}
double integral(int a, int b)
{
int i; double sum; double y=0; double x;
double h;
h = (b - a) / N;
for (i = 1; i < N; i++)
{
x = x + i;
y = sqrt(x);
y+=(a + h*i);
sum= h*y;
}
f(x);
return 0;
}
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.