Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Задание 2: Вычислить корень функции методом хорд




Функция:

Ввод x,y, epsilon  
abs(y-x)>epsilon  
Начало  
z=x-(y-x)*f(x)/(f(y)-f(x)), x=y, y=z  
Вывод результата Z    
конец

 


// Hords.cpp: Defines the entry point for the console application.

//

 

#include "stdafx.h"

#include <math.h>

#include <stdio.h>

 

double f (double x);

FILE *tabfun1;

 

int main(void)

 

{

double a,b,c,eps;

printf("enter a,b,eps \n");

scanf("%le%le%le",&a,&b,&eps);

while (abs(a-b)>eps)

{c=a-(b-a)*f(a)/(f(b)-f(a));

b=a; a=c; }

printf("koren6 = %15.5le",c);

tabfun1=fopen("a1.dat","w");

fprintf(tabfun1,"%15.5le %15.5le\n",'a=',a,' b=',b,' ','eps=',eps);

fclose(tabfun1);

 

scanf("%le", &a);

 

 

return 0;

}

 

double f (double x)

{return pow(pow(exp(x)+exp(-x),0.5)+pow(exp(2*x)+exp(-2*x),0.5),1/exp(x))/(sin(x)+cos(2*x)+exp(pow(x*x+x,0.5)))-0.75;}

}

 

 

Вывод: При вычислении корня методом хорд на промежутке между 0 и 2 получено значение 2.1

 

 

 

Нахождение корня в MatLab:

Задание 1: Вычислить корень функции:

 

f=((sqrt(exp(x)+exp(x))+sqrt(exp(2.*x)+exp(2.*x)).^(1/exp(x)))/sin(x)+cos(2.*x)+exp(sqrt(x.^(2)+x)))-0.75

Программный код:

function MethodHord

a=0

b=2

eps=1.*10^(-6)

 

while ((b-a)>eps)

c=(a+b)./2;

d=func(a).*func(c);

if (d>0) a=c;

else b=c;

end

end

 

x=(a+b)./2;

 

x

end

 

function f = func(x);

f=((sqrt(exp(x)+exp(x))+sqrt(exp(2.*x)+exp(-2.*x)).^(1/exp(x)))/sin(x)+cos(2.*x)+exp(sqrt(x.^(2)+x)))-0.75;

end

Результат:

 

a =

 

 

b =

 

 

eps =

 

1.0000e-006

 

x =

 

2.0000





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 1261 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лучшая месть – огромный успех. © Фрэнк Синатра
==> читать все изречения...

2257 - | 2143 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.