Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
1

Вычислить интеграл функции по промежутку между ее соседними корнями.

22.11.2012, 22:50. Показов 2955. Ответов 10

Author24 — интернет-сервис помощи студентам
помогите еще задачку решить на этот раз последнюю
Миниатюры
Вычислить интеграл функции по промежутку между ее соседними корнями.  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2012, 22:50
Ответы с готовыми решениями:

Составить программу вычисления максимального расстояния между соседними корнями уравнения
если кто понимает эту задачу,помогите пожалуйста! Составить программу вычисления максимального...

Вычислить среднее значение разниц между соседними числами
уважаемые форумчане,помогите пожалуйста с заданием: вычислить среднее значение разниц между...

Найти разность между вычисленными корнями. Результат округлить используя все функции округления
Ввести 4-х значное число, разложить его на цифры Вычислить квадратный корень 2 и 4 цифры Найти...

Вычислить наибольшее и наименьшее значение модуля разности между соседними элементами массива
Для массива (a1, a2,…, a100) вычислить наибольшее и наименьшее значение модуля разности между...

10
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
05.12.2012, 16:16  [ТС] 2
помогите пожалуста с решением, сроки поджимают очень нужно..
0
5243 / 3571 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
05.12.2012, 17:33 3
1.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear, clc
 
% находим корни
R = double(solve('x^3-4*x+3'))
% убираем корни, не попавшие в диапазон
r = R( (R>-3)&(R<1.2) ) 
% находим пределы интегрирования
if length(r)==1
    a = -3;
    b = 1.2;
else
    a = min(r);
    b = max(r);
end
% считаем интеграл
I1 = quad('x.^3-4*x+3',a, b)
2.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clear, clc
 
% находим корни
R = double(solve('log(x+1).*sin(x)-1/3'))
% убираем корни, не попавшие в диапазон
r = R( (R>-2)&(R<2) ) 
% находим пределы интегрирования
 
if length(r)==1
    a = -2;
    b = 2
else
    a = min(r);
    b = max(r);
end
% считаем интеграл
I1 = quad('log(x+1).*sin(x)-1/3',a, b)
Но у меня почему-то находить только один корень может твой матлаб справится.
0
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
05.12.2012, 23:24  [ТС] 4
??? Error using ==> solve>getEqns at 202
' log(x+1).*sin(x)-1/3 ' is not a valid expression or equation.

Error in ==> solve at 67
[eqns,vars] = getEqns(varargin{:});

вот такое выдает (
0
5243 / 3571 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
06.12.2012, 09:43 5
В solve перед умножением точка не нужна!
Чет я не заметил
0
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
06.12.2012, 20:18  [ТС] 6
R =

97.3167


r =

[]

??? Error using ==> quad at 70
The limits of integration must be scalars.

все что вывел матлаб )(
0
5243 / 3571 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
06.12.2012, 20:48 7
в 9й строке исправь условие "==1" на "<=1"
* у меня тоже получался только один корень, но интеграл все-таки находился.
0
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
06.12.2012, 20:57  [ТС] 8
R =

97.3167


r =

[]


I1 =

1.3579 - 3.0048i

вот что вышло ), а ` r ` так и должна быть пустой?
0
5243 / 3571 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
07.12.2012, 09:16 9
Хитрая какая-то вторая функция, solve не по зубам У меня было 2 корня, один из которых был вне диапазона. Хотя если построить график:
ezplot('log(x+1)*sin(x)-1/3')
grid on
То видно два пересечения с осью X внутри указанного промежутка, но solve их почему-то не находит
0
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
08.12.2012, 12:50  [ТС] 10
а есть возможность использовать другую функцию?
0
5243 / 3571 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
08.12.2012, 13:47 11
Можно попробовать сделать так:
x1 = fzero('log(x+1).*sin(x)-1/3', -2); % корень в окресностях -2
x2 = fzero('log(x+1).*sin(x)-1/3', 2); % корень в окресностях 2
Или еще так:
x = fminsearch( 'abs(log(x+1).*sin(x)-1/3)',[-2 2]);
Правда я не помню точный синтаксис ф-ций
А как найдешь корни х1 и х2, так и интегрируй в промежутке от х1 до х2
0
08.12.2012, 13:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2012, 13:47
Помогаю со студенческими работами здесь

Вычислить наибольшее и наименьшее значение модуля разности между соседними элементами массива
Здравствуйте! Помогите, пожалуйста, с задачей: дан массив, вычислить наибольшее и наименьшее...

Вычислить наибольшее и наименьшее значения модуля разности между соседними элементами массива
помогите пожалуста решить задачу, ни чего не понимаю в в массивах. вот задание-Вычислить наибольшее...

Вычислить минимум R абсолютной величины разности между соседними элементами А и его место в массиве
Доброго времени суток,не могли бы вы помочь с задачей! текст задачи Массив а(20) заполнить целыми...

Для массива А вычислить наибольшее и наименьшее значения модуля разности между соседними элементами
Для массива А вычислить наибольшее и наименьшее значения модуля разности между соседними...

Для одномерного массива A вычислить наибольшее значение модуля разности между соседними элементами
помогите написать код программы

Для квадратной матрицы В вычислить наименьшее значение модуля разницы между соседними элементами главной диагонали
Для квадратной матрицы В (5,5) вычислить наименьшее значение модуля разницы между соседними...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru