Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
AlexandrShestak
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 23
1

Найти все корни уравнения

25.11.2016, 00:25. Просмотров 1102. Ответов 3
Метки нет (Все метки)

Строил график уравнения http://www.cyberforum.ru/cgi-bin/latex.cgi?(x-3)*cosx=1 и искал его корни.
Но отображается почему-то только один корень.
Matlab M
1
2
3
4
x0=-10:0.01:10;
b = (double(solve('(x-3)*cos(x)-1=0')));
y2=(x0-3).*cos(x0)-1;
settingPlot2 = hold on, plot(x0,y2), plot(b,0.0,'bo'),titleF2 = title('$$(x-3)*cos(x)-1$$=0','interpreter','latex'),xlabel('x'), ylabel('y'), hold off, grid on
fsolve дает похожий результат. Не подскажете, как получить все пять корней. Заранее спасибо.
0
Миниатюры
Найти все корни уравнения  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2016, 00:25
Ответы с готовыми решениями:

Найти все корни следующего уравнения с точностью 10^-7 и проверить, достигнута ли заданная точность:
tgx=lgx+pi на отрезке Помогите пожалуйста У меня получается так: ...

Matlab находит не все корни уравнения
Доброе время суток. Возможно кто уже сталкивался с такой проблемой,...

Найти корни уравнения
Мне сказали, что можно найти корни этого уравнения с помощью Матлаба. Не...

Найти корни уравнения через цикл
Нужно решить уравнение через цикл 6sin(x)=x^(1/3)

Найти корни уравнения и осуществить проверку методом подстановки
1) Дано уравнение ax5+bx4+cx3+dx2+ex+f=0. Найти его корни и осуществить...

3
SSC
Эксперт по математике/физике
2703 / 1431 / 417
Регистрация: 09.04.2015
Сообщений: 3,936
25.11.2016, 10:50 2
Лучший ответ Сообщение было отмечено AlexandrShestak как решение

Решение

Поиск всех корней в диапазоне заданном в х0
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
function reshenie
clear all;clc;close all;
x0=-10:0.01:10;
%b = (double(solve('(x-3)*cos(x)-1=0')));
y2=(x0-3).*cos(x0)-1;
k1=1;
for k=1:length(y2)-1
    if y2(k)*y2(k+1)<=0
        xk0(k1)=x0(k);
        k1=k1+1;
    end
end
figure
plot(x0,y2,'b');
grid on
hold on
for k=1:length(xk0)
    xk(k) = fsolve(@(x) myfunc1(x),[xk0(k)],optimset('Display','off'));
    plot(xk(k),0,'ro');
end
xk
function F=myfunc1(x)
   F = (x(1)-3)*cos(x(1))-1;
1
Миниатюры
Найти все корни уравнения  
AlexandrShestak
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 23
25.11.2016, 18:40  [ТС] 3
SSC, спасибо!
А можно прокомментировать эти строки?
Matlab M
1
2
3
4
5
6
k1=1;
for k=1:length(y2)-1
    if y2(k)*y2(k+1)<=0
        xk0(k1)=x0(k);
        k1=k1+1;
    end
0
Matasin
93 / 91 / 23
Регистрация: 08.05.2016
Сообщений: 521
25.11.2016, 19:43 4
Это поиск абсцисс точек, ближайших к точкам пересечения функции с осью абсцисс.

Добавлено через 2 минуты
Касание тоже.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2016, 19:43

Найти все корни нелинейных уравнений.
Найти все корни нелинейного уравнения f(x)=0, определив начальное приближенное...

Найти все корни функции на интервале методом дихотомии
Численное решение нелинейных уравнений. Найти все корни функции f(x) на...

Получить корни уравнения
Есть уравнение и его решение см. Вложение, но не могу получить корни, как во...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru