IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Прога решения уравнений, Нахождение корней в уравнении
сообщение
Сообщение #1


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Всем привет!

Дана следующая задача;

Составить программму на любом языке программирования и с ее помощью решить уравнение с точностью равную до тысячных E=0.001 б=0.01 Уравнение 3cos2x-x+0.25 х принадлежит [-2.5;-1,8]

Я выяснил что уравнение корней не имеет!!! т.к найдя производную этого уравнение и подставляя значение -2.5 и -1.8 получается что в двух случаях уравнение имеет знак плюс!!!



Написал прогу на Делфи но у меня она не запускается(((((((((((( Может кто предложит более простой вариант? Я еще не организовал как задать точность(((

код проги:



var
Form1: TForm1;
x1, n,p,b,rez,rezu,t,y,u,q:integer;
x2, x3,f,h,c,w,e: extended;
s, red,per:string;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
x1:=3;
n:=-5;
x2:=2.5;
x3:=0.25;
s:= IntToStr(x1)+'cos'+IntToStr(n)+'+'+FloatToStr(x2)+'+'+FloatToStr(x3)+'=';
label1.Caption:=s;
p:= StrToInt (3*cos(-5)+ StrToFloat (2.5+0.25);
Label2.Caption:=IntToStr(p);
end;
begin
b:=3;
c:=-3.6;
f:=1.8;
h:=0.25;
red:= IntToStr(b)+'cos'+FloatToStr©+'+'+FloatToStr(f)+'+'+FloatToStr(h)+'=';
label3.Caption:=red;
rez:= StrToFloat (3*cos(-3.6)+ StrToFloat (1.8+0.25);
Label4.Caption:=FloatToStr(rez);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
t:=-6;
y:=-5;
u:=-5;
per:=IntToStr(t)+'sin'+IntToStr(y)+'*'+'cos'+IntToStr(u)+'=';
Label5.Caption:=per;
rezu:=StrToInt (-6*sin(-5)* cos(-5));
Label6.Caption:=IntToStr(rezu);
ShowMessage('uraveneie ne imeet kornei');

end;
begin
q:=-6;
w:=-3.6;
e:=-3.6;
per:=IntToStr(q)+'sin'+FloatToStr(w)+'*'+'cos'+FloatToStr(e)+'=';
Label7.Caption:=per;
rezu:=FloatToStr (-6*sin(-3.6)* cos(-3.6));
Label8.Caption:=StrToFloat(rezu);
ShowMessage('uraveneie ne imeet kornei);

end.

Добавлено через 5 мин.
В этом коде полно проблем с переводом типов данных и почему то ошибки выдает с лейбелами
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
Я выяснил что уравнение корней не имеет!!!
Смотря какое уравнение. Если 3cos2x-x+0.25=0, то неправда...

X = -1.9455 - вот корень с точностью 0.001.
Проверяем: 3*cos(-3.891) - (-1.9455) + 0.25 = -2.19628 + 1.9455 + 0.25 (дальше сам посчитаешь?)

Цитата
Может кто предложит более простой вариант?
Самый простой вариант - консольное приложение.
program Project1;
{$APPTYPE CONSOLE}

function f(x: real): real;
begin
f := 3 * cos(2*x) - x + 0.25;
end;

var
x, y: real;
found: boolean = false;

begin
x := -2.5;
while x <= -1.8 do begin
y := f(x);
if abs(y) < 0.001 then begin
writeln('X = ', X:12:6, ' Y = ', Y:12:6); found := true;
end;
x := x + 0.0005;
end;

if not found then writeln('no roots...');
readln;
end.


Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Это на каком языке написано? это уравнение не имеет корней при х=-2.5 и -1.8
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






А это на каком языке написано?
Цитата
Уравнение 3cos2x-x+0.25 х принадлежит [-2.5;-1,8]
ГДЕ здесь написано, что надо найти решение при x=-2.5 и x=-1.8? Написано, что X принадлежит ИНТЕРВАЛУ от -2.5 до -1.8

Разницу видишь?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Если даже сделать чертеж то эти два графика не пересекаются! а значит нет корней

Добавлено через 2 мин.
А как запустить этот код? в проге

Добавлено через 46 сек.
Я не знаю консольный режим(((((( в делфи
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской
Реальное имя: Юра

Репутация: -  1  +


Цитата(dron4ik @ 13.11.2008 1:02) *

Если даже сделать чертеж то эти два графика не пересекаются! а значит нет корней

Какие два графика то?
Дано уравнение, дан интервал - уравнение одно - откуда тогда второй график?. В пост прекрепил Excel-евский файлик - там график, посмотри - сам всё увидишь smile.gif

Цитата(dron4ik @ 13.11.2008 1:02) *

А как запустить этот код? в проге


Открываешь Delphi, затем File -> New -> Other -> Console Application.
Вставляешь туда написаный volvo код -> F9 -> и всё работает smile.gif


Прикрепленные файлы
Прикрепленный файл  _____1.xls ( 21.5 килобайт ) Кол-во скачиваний: 188
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Там получаеотся два графика из одного уравнения! 3cos2x и x-0.25 нарисуй их и поймешь что они не пересекаются
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Цитата
3cos2x и x-0.25 нарисуй их и поймешь что они не пересекаются
Да какие, блин, два графика??? Ты бы еще отдельно 3cos2x, отдельно x, и отдельно 0.25 рисовал? Чего ж ты одно отделил, а другое - нет? Срочно читать учебник математики, и уяснять разницу между понятиями "уравнение" и "система уравнений"

Тебе заданы 2 линии: первая - график функции y=3cos2x-x+0.25, вторая - y=0. Пересечение их дает тебе решение уравнения 3cos2x-x+0.25=0 Если это непонятно, то говорить дальше просто не о чем, жаль времени. dry.gif

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(volvo @ 13.11.2008 9:57) *
Да какие, блин, два графика???

volvo, я не вполне понимаю твое возмущение. dron4ik просто перенес два слагаемых в правую часть:

3cos2x = x - 0.25

- и интерпретирует уравнение как равенство двух частей (графиков). Подход вполне имеет право на жизнь. Я, правда, не рассматривал сами графики, так что не знаю, есть ли решение (пересечение) на самом деле, но метод абсолютно верный. Перенос тоже произведен верно (со сменой знака).
Я что-то упускаю?.. blink.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Цитата
Я, правда, не рассматривал сами графики, так что не знаю, есть ли решение (пересечение) на самом деле
Ну, так посмотри:
program Project1;
uses graph;

function f1(x: real): real;
begin
f1 := 3 * cos(2*x);
end;

function f2(x: real): real;
begin
f2 := x - 0.25;
end;

const
found: boolean = false;
var
x, y1, y2: real;

gd, gm: smallint;

begin
initgraph(gd, gm, '');
x := -2.5;
while x <= -1.8 do begin
y1 := f1(x); y2 := f2(x);

putpixel((getmaxx div 2) + trunc(x*50),
(getmaxx div 2) + trunc(y1*50), lightred);
putpixel((getmaxx div 2) + trunc(x*50),
(getmaxx div 2) + trunc(y2*50), lightgreen);

if abs(y1 - y2) < 0.001 then begin
writeln('X = ', X:12:6, ' Y1 = ', Y1:12:6, ' Y2 = ', Y2:12:6); found := true;
end;
x := x + 0.0005;
end;

if not found then writeln('no roots...');
readln;
end.


(сами графики + результат в аттаче)

Цитата
метод абсолютно верный. Перенос тоже произведен верно (со сменой знака).
Я не телепат, и методов, которыми при правильно произведенном переносе и правильном построении графиков можно получить НЕправильный результат, я не знаю. Автор утверждал, что
Цитата
3cos2x и x-0.25 нарисуй их и поймешь что они не пересекаются
? Утверждал. Нарисовал я их. Они пересекаются... Что дальше? (это вопрос автору топика)


Эскизы прикрепленных изображений
Прикрепленное изображение
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Ну, наверное, человек ошибся при рисовании графиков. Мне кажется, это не повод отсылать его..
Цитата(volvo @ 13.11.2008 9:57) *
Срочно читать учебник математики, и уяснять разницу между понятиями "уравнение" и "система уравнений"


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Как могут пересечся эти два графика?????? если мы берем значения от [-2.5 , -1.8]

Делал вручную они не пересекаются!!!!! значит нет корней а выясняем мы с помощью производной которую берем от уравнения 3 * cos(2*x)-X+0.25

Добавлено через 19 мин.
Посмотрите ваши график противоположен моему!


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Точно они пересекаются извините за ошибку
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 1.11.2020 3:54
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name