Программа должна считать производную,более менее точно от функции. - C (СИ)
Формулировка задачи:
Привет помогите разобраться.Программа должна считать производную,более менее точно от функции.У меня считает но,параметр r не влияет на результат,нужно чтобы он изменялся например от 1 до 10
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
float Proiz (float x,float dx,float (*) (float x,float r));
float fein (float z,float r);
main ()
{
clrscr();
int i;
float x,z,dx,a,q,r;
dx=0.0001;
for(i=0;i<10;i++)
{
//r=r+0.1;
a=Proiz(x,dx,fein);
printf("proiizvodnay=%f\n",a);
}
getch();
return(0);
}
float Proiz (float x,float dx,float (*) (float q,float ))
{
float P,xk1,xk,r;
//r=r+0.1;
xk=fein(x,r);
xk1=fein(x+dx,r);
P=(xk1-xk)/dx;
return P;
}
float fein (float z,float r)
{
float fein;
//r=r+0.1;
fein=4*r*z*(1-z);
return (fein);
}Решение задачи: «Программа должна считать производную,более менее точно от функции.»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
float Proiz (float, float, float);
float fein (float, float);
int main ()
{
clrscr();
float x, dx, r = 0;
dx = 0.0001;
x = 0.1;
for(int i = 0; i < 10; i++)
{
r += 0.1;
printf("proiizvodnay=%f\n", Proiz(x, dx, r));
}
getch();
return 0;
}
float Proiz (float x, float dx, float r)
{
float P, xk1, xk;
xk = fein(x, r);
xk1 = fein(x + dx, r);
P = (xk1 - xk) / dx;
return P;
}
float fein (float z, float r)
{
float fein;
fein = 4 * r * z * (1 - z);
return fein;
}
Объяснение кода листинга программы
- Программа считает производную функции.
- В функции
mainсоздаются и инициализируются переменныеx,dxиr. - Переменная
dxсодержит шаг приближения, который равен 0.0001. - Переменная
xсодержит начальное значение аргумента функции. - Переменная
rиспользуется для хранения суммы ряда, представляющего производную. - Используется цикл
for, который выполняется 10 раз. - На каждой итерации цикла значение переменной
rувеличивается на 0.1. - Каждый раз, когда выполняется итерация цикла, вызывается функция
Proiz, которая вычисляет производную функции на данном шаге приближения. - Результат вычисления производной выводится на экран.
- В функции
Proizсоздаются и инициализируются переменныеP,xk1иxk. - Переменная
xkсодержит приближенное значение функции на шаге приближенияx + dx. - Переменная
xk1содержит приближенное значение функции на шаге приближенияx + 2dx. - Переменная
Pвычисляется как разностьxk1иxk, деленная наdx. - Функция
Proizвозвращает значение переменнойP. - В функции
feinсоздается и инициализируется переменнаяfein. - Значение переменной
feinвычисляется как произведение 4 наr,zи(1 - z). - Функция
feinвозвращает значение переменнойfein. - В функции
mainвызывается функцияProizс аргументамиx,dxиr. - Результат вычисления производной выводится на экран.
- В конце программы вызывается функция
getch, которая ожидает нажатия клавиши. - Программа возвращает 0, что означает успешное завершение работы.