Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2011, 20:13   #1
xitrec1zaraza
Пользователь
 
Регистрация: 27.11.2010
Сообщений: 17
Смущение Веселые задачки II-семестр. Графики и не линейные уравнения.. Си++

Задание вроде и простое, а вроде и нет...

Решение не линейных уравнений.

Предположим у меня есть графики его надо решить двумя способами
(графики F1= e^ch x и f2=5,7x + 4, границы X(н)=(-2) X(к)=(0.6))

Я так понял их надо приравнять и решить.

1. Метод дихотомии
2. Метод хорд

Есть набросок но в чём шутка

1. Где-то ошибка считает криво...Где то в цыкле вроде
2. Надо вставить функции и оптимизировать (просьба всё что будете исправлять, поясняйте) и ещё по возможности вывод ответов в графике но эту часть закоментируйте. Заранее благодарен.

Набросок в студию:

#include <conio.h>
#include <iomanip.h>
#include <iostream.h>
#include <math.h>

main(){
float ca, cb, cxn,
x0, xn, c, e, z,
a, b, x, y;
int i=0;

clrscr();
cout<<"Resheniye uravneniya exp(ch(x))=5.7*x+4 metodon Dihotomii: "<<endl<<endl;
cout<<"Preobrazuem uravneniye:F(x)=exp(ch(x))-5.7*x+4=0"<<endl<<endl;
cout<<"Vvedite tochki a i b, chtoby F(a)*F(b)<0 "<<endl<<endl;
cout<<"Vvedite znachenie tochki a=";cin>>a;
cout<<endl<<"Vvedite znachenie tochki b=";cin>>b;cout<<endl;
cout<<"Vvedite tochnost vychisleny e=";cin>>e;cout<<endl;

y=(exp(cosh(a))-5.7*a+4);
z=(exp(cosh(b))-5.7*b+4);
if (y*z<0)
cout<<"DAAAAAAA"<<endl;


do{
x0=(a+b)/2;
c=(exp(cosh(x0))-5.7*x0+4);

if (y*c>0&&c*z<0)
a=x0;
if (y*c<0&&c*z>0)
b=x0;

i++;
cout<<i<<" promezhutochnoe znachenie= "<<x0<<endl;
}
while (b-a>e);

cout<<"x="<<x0<<endl<<endl;

////////////////////////////////////

cout<<"Resheniye uravneniya exp(ch(x))=5.7*x+4 metodon hord: "<<endl<<endl;
cout<<"Preobrazuem uravneniye: F(x)=exp(ch(x))-5.7*x+4=0"<<endl<<endl;

ca=(exp(cosh(a))-5.7*a+4);
cb=(exp(cosh(b))-5.7*b+4);
y=(ca*b-cb*a)/(ca-cb);

for(i=1;fabs(x-y)>=e;i++){
x=y;

cxn=(exp(cosh(y))-5.7*y+4);

if (ca*cxn>0&&cxn*cb<0){
a=y;
ca=cxn;
x=y-cxn/(cb-cxn)*(b-y);
}

if (ca*cxn<0&&cxn*cb>0){
b=y;
x=y-cxn/(cxn-ca)*(cxn-ca);
}

cout<<i<<" promezhutochnoe znachenie= "<<x<<endl;
}

cout<<"x="<<x<<endl<<endl;

cout<<endl<<"Press any key...";
getch();
return 0;
}

Последний раз редактировалось xitrec1zaraza; 27.02.2011 в 21:00.
xitrec1zaraza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Линейные списки ]tach[ Помощь студентам 0 19.01.2011 16:59
SQL запрос. вывести студентов,которые НЕ оплатили обучение за определенный семестр Jene4ka БД в Delphi 12 17.05.2010 23:18
Задачи на ассемблере(1 курс,1 Семестр) Natsu Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 24 25.11.2009 19:49
Задачки на Паскале помогите пожалуйста решить 2 задачки, а то отчислят. плиз VADOS2009-1 Помощь студентам 0 03.06.2009 18:11