Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 23

Решение трансцендентных и алгебраических уравнений методом половинного деления

10.01.2015, 13:00. Показов 3647. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, помогите пожалуйста. Написал программу, но не знаю правильно или нет, и там надо сделать так что бы она считала с разной точностью. Чет не допераю как это сделать.
Вот задания:

Вычислить первый положительный корень трансцендентного уравнения и все действительные корни алгебраического уравнения с точностью 10^-3, 10^-5 и 10^-7.
Методические рекомендации:
Учебные приближения корней х0 определить визуально, построив график функции F (x).
Прежде, чем использовать методы касательных или простых итераций, проверить их сходимость.
Для контроля правильности решений вывести на экран последовательность приближений корней и значения функции в этих точках.
Оценить скорость совпадения различных методов.
И если правильно, помогите сделать упрощенный вариант. Скоро сдавать преподавателю.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
clear, clc
x=-3:0.001:4;
x1=-2:0.001:2;
figure;
ezplot ('x^2-2^(x-1)', -2:0.001:2);
grid on;
f=[2.8 -25.7 6.18 107.4 ];
f1=polyval(f,x);
ff1=poly2str(f,'x');
figure;
plot(x,f1);
grid on;
disp(ff1);
 
f = @(x) x^2-2^(x-1); % функция
exp = 0.001; % точность
a = 0; % нижний предел
b = 2; % верхний предел
 figure;
fplot(f,[a,b]), hold on % рисуем функцию
 
fa=f(a); 
fb=f(b);
p=(a+b)/2;
n=1;
fp=f(p);
while abs(fp)>exp
    if fa*fp<0 
        b=p;
    else
        a=p;
    end;
    p=(a+b)/2;
    n=n+1;
    fa=f(a);
    fp=f(p);
end;
x0 = p; % корень
 
plot(x0, f(x0),'or') 
grid on
title(['x_0=',num2str(x0)])
 
f = @(x) 2.8*x^3-25.7*x^2+6.18*x+107.4; % функция
exp =0.001; % точность
a = 0; % нижний предел
b = 3; % верхний предел
figure; 
fplot(f,[a,b]), hold on % рисуем функцию
 
fa=f(a); 
fb=f(b);
p=(a+b)/2;
n=1;
fp=f(p);
while abs(fp)>exp
    if fa*fp<0 
        b=p;
    else
        a=p;
    end;
    p=(a+b)/2;
    n=n+1;
    fa=f(a);
    fp=f(p);
end;
x0 = p; % корень
plot(x0, f(x0),'or') 
grid on
title(['x_1=',num2str(x0)])
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.01.2015, 13:00
Ответы с готовыми решениями:

Решение уравнений с одним неизвестным. Метод половинного деления.
Здравствуйте! Метод половинного деления. Помогите пожалуйста правильно записать первые две строчки программы... function f=nice(x) ...

Решение уравнения методом половинного деления
Нужно решить с помощью МатЛаб уравнение под номером 3 с помощью метода половинного деления (запрограммировать под скрипт и запустить). ...

Решение трансцендентных уравнений
Здравствуйте! Очень нужна ваша помощь. Нужно составить сетку значений в виде матрицы, потом для каждого значения матрицы посчитать по...

4
Модератор
Эксперт по математике/физике
 Аватар для VSI
5291 / 4073 / 1392
Регистрация: 30.07.2012
Сообщений: 12,490
10.01.2015, 13:22
mark12552, размещение задания в виде файлов с текстом или картинок - запрещено. Задания надо перепечатывать на форум (для набора формул есть встроенный редактор) и... загляните в самый низ этой страницы в раздел "Похожие темы"
0
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 23
10.01.2015, 13:52  [ТС]
Я уже смотрел, но проблем с нахождением корня нету вроде, просто хочу узнать как сделать что бы программа находила корень при разной точности.
0
Модератор
Эксперт по математике/физике
 Аватар для VSI
5291 / 4073 / 1392
Регистрация: 30.07.2012
Сообщений: 12,490
10.01.2015, 14:53
Цитата Сообщение от mark12552 Посмотреть сообщение
while abs(fp)>exp
Задавайте РАЗНУЮ ТОЧНОСТЬ расчета (т.е. разные значения переменной ехр)
0
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 23
10.01.2015, 20:28  [ТС]
можете помочь сделать этот метод бисекций функцией, что бы я его два раза не повторял?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.01.2015, 20:28
Помогаю со студенческими работами здесь

Cистема линейных алгебраических уравнений методом итерации
необходимо решить систему линейных алгебраических уравнений методом итерации. Но в коде вероятно какая-то ошибка, т.к. выдает результат не...

Поиск корня уравнения методом половинного деления с использованием метода Симпсона
Доброго времени суток. Есть следующее уравнение: \int_{0}^{x}\frac{sin(t)}{t}dt=\frac{\pi}{2}\;,\;x \in или

Решения уравнения методом половинного деления. Input argument "x" is undefined
У меня есть задание, нужно сложить программу решения уравнения методом половинного деления x+lgx-0.5=0. Я создала два файла f.m в котором...

Решение уравнений методом итераций
f(x)=sin(x)-x*(e^x)+3 x0=1 epsilon=(|Xn-Xn-1|/|Xn|)*100 если epsilon&lt;3% заканчиваем.Математически решила две итерации,но как перенести...

Решение системы уравнений методом ode23
Здравствуйте. Не могли бы вы мне помочь.. У меня есть система уравнений, имеющая вид: \frac{d{x}_{i}(t)}{dt}=k{x}_{i}(t)+a(t),, где...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru