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

Вычислить площадь фигуры, ограниченной кривой

07.06.2020, 23:30. Показов 3421. Ответов 8

Студворк — интернет-сервис помощи студентам
Здравствуйте,помогите пожалуйста ,нужно исправить скрипт

Здесь преподаватель указал вот такие замечания:

заливка правой части фигуры неверная - из точки с координатами (b; f(b)) сначал нужно спуститься на ось абсцисс в точку (b; 0). зато ее площадь правильная. ) т.е. нужно добавить к Вашему вектору х в конце точку еще одну точку b, а к вектору значений функций в конец добавить просто 0.
Найденное значение корня обозначьте С, тогда площадь левой фигуры ищется на интервале [a; C], правой [C;b]

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
f=@(x)sin(log(x));%анонимная функция 
%построение графика для выбора интервала интегрирования 
h=ezplot(f,[-pi,pi]); 
grid on,hold on 
E = 1e-7;% заданная точность 
 
%выбираем как будем закрашивать фигуру 
figure1 = input('Введите левую границу Фигуры='); 
figure2 = input('Введите правую границу Фигуры= '); 
disp('Найдем координаты х, в которых функция пересекает ось абсцисс: '); 
n = input('Введите число корней уравнения n = '); 
disp('Нашли координаты х, в которых функция пересекает осью абсцисс: '); 
for i=1:n 
 
a = input('Введите левую границу отрезка, содержащего корень, a = '); 
b = input('Введите правую границу отрезка, содержащего корень, b = '); 
syms x 
R = solve(f) 
end 
title('y=sin(log(x))'); %добавление названия графика 
 
%РАСЧЕТ 
%разбиваем на 2 
%считаем левую и правую площадь через рунге(симпсон) 
%ГРАФИК и расчет ЛЕВОЙ ФИГУРЫ 
f=@(x)sin(log(x)); 
E = 1e-7;% заданная точность 
a=0.04; 
b=1.0; 
disp('Площадь левой фигуры plochadLevoy'); 
plochadLevoy = Runge(f,a,b,E); %обращение к m-функции Runge 
disp('Приближенное значение опр. интеграла (м-д Симпсона с применение правила Рунге)'); 
disp('plochadLevoy ='); 
disp(abs(plochadLevoy)); 
 
%закрашиваем фигуру 
x=a:0.0001:b; 
plot(a,0.04, b,0.04) 
fill(x,f(x),'m-') 
title('y=sin(log(x))') 
 
%ГРАФИК и расчет ПРАВОЙ ФИГУРЫ 
f=@(x)sin(log(x)); 
E = 1e-7;% заданная точность 
a=1.0; 
b=2.1; 
disp('Площадь правой фигуры plochadPravoy'); 
plochadPravoy = Runge(f,a,b,E); %обращение к m-функции Runge 
disp('Приближенное значение опр. интеграла (м-д Симпсона с применение правила Рунге)'); 
disp('plochadPravoy'); 
disp(abs(plochadPravoy)); 
%закрашиваем фигуру 
a=1.0; 
b=2.1; 
x=1.0:0.1:b; 
fill(x,0,'r') 
%y=0:0.1:2.1; 
%fill(y,f(y),'r') 
title('y=sin(log(x))') 
 
%найдем общую площадь 
disp('Площадь общей фигуры ЛЕВАЯ ПЛОЩАДЬ+ПРАВАЯ'); 
Obchaya=plochadPravoy-plochadLevoy
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.06.2020, 23:30
Ответы с готовыми решениями:

Вычислить площадь фигуры, ограниченной кривой
Вычислить площадь фигуры, ограниченной кривой r=cos3\varphi

Вычислить площадь фигуры, ограниченной линиями
Вычислить площадь фигуры, ограниченной линиями. Построить фигуру. Точки пересечения графиков функций найдите с помощью решения уравнения в...

Вычислить площадь фигуры, ограниченной линиями
Всем привет, у меня возникла проблема при решении задания MatLab . Задание: Вычислить прощальный фигуры , ограниченной линиями y=-4x ...

8
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
08.06.2020, 15:09
TakoyZefir, во-первых, зачем вы включаете в интервал отрицательные числа, если ясно, что нельзя взять логарифм от отрицательного числа? Во-вторых, расскажите о задании полнее; как можно понять, вам нужно вычислить не только площадь фигуры, но и закрасить какую-то её часть.
1
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 6
08.06.2020, 15:52  [ТС]
Добрый день!
Мое задание выглядит так :
Вычислить площадь фигуры, ограниченной кривой у = f(x) (выдается преподавателем), осью абсцисс и прямыми х=а и х=b (фигуру построить). Численное значение соответствующего интеграла получить методом Симпсона с точностью е=10^-7.
Указание, Для заливки фигуры, чью площадь необходимо войти, воспользоваться встроенной функцией fill. Для поиска точки пересечения заданной кривой с осью абсцесс воспользоваться функцией solve.
Дана функция y=sin(ln(x))
Нужно найти площади левой фигуры лежащей ниже оси абсцисс и правой фигуры лежащей выше оси абсцисс и закрасить их

Добавлено через 5 минут
Здравствуйте,задание прикрепила в сообщении

Добавлено через 24 минуты
Centurio, извините ,не очень умею пользоваться форумом ещё ))))
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
08.06.2020, 16:07
TakoyZefir, вполне понятно сейчас, не переживайте. Только вопрос для уточнения: ограничивающие прямые - это x=0.04 и x=1?
0
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 6
08.06.2020, 18:02  [ТС]
Centurio, х=0.04 и х=2.1

Добавлено через 1 час 51 минуту
Тут вот получилось....
Но как найти первуб точку пересечения??через solve не ищет ,а если через Ньютона то как ???
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
f=@(x)sin(log(x));%анонимная функция 
%построение графика для выбора интервала интегрирования 
h=ezplot(f,[-pi,pi]); 
grid on,hold on 
eps = 1e-7;% заданная точность 
%пЕРВАЯ ТОЧКА ПЕРЕСЕЧЕНИЯ 
%A= 
 
 
 
b=solve(f);%2 точка пересечения с осью ОХ 
%выбираем как будем закрашивать фигуру 
figure2 = input('Введите правую границу Фигуры= '); 
b=solve(f);%2 точка пересечения с осью ОХ 
%РАСЧЕТ 
%разбиваем на 2 
%считаем левую и правую площадь через рунге(симпсон) 
%ГРАФИК и расчет ЛЕВОЙ ФИГУРЫ 
disp('Площадь левой фигуры plochadLevoy'); 
E=1e-7; 
plochadLevoy = Runge(f,a,b,E); %обращение к m-функции Runge 
disp('Приближенное значение опр. интеграла (м-д Симпсона с применение правила Рунге)'); 
disp('plochadLevoy ='); 
disp(abs(plochadLevoy)); 
%закрашиваем фигуру 
x=a:0.01:b; 
 
fill(x,f(x),'m-') 
%ГРАФИК и расчет ПРАВОЙ ФИГУРЫ 
disp('Площадь правой фигуры plochadPravoy'); 
plochadPravoy = Runge(f,b,figure2,E); %обращение к m-функции Runge 
disp('Приближенное значение опр. интеграла (м-д Симпсона с применение правила Рунге)'); 
disp('plochadPravoy'); 
disp(abs(plochadPravoy)); 
x=b:0.01:figure2;%вектор значений х 
x1=[x figure2];% 
y1=[f(x) 0]; 
fill(x1,y1,'r') 
title('y=sin(log(x))') 
%найдем общую площадь 
disp('Площадь общей фигуры ЛЕВАЯ ПЛОЩАДЬ+ПРАВАЯ'); 
Obchaya=abs(abs(plochadPravoy)+abs(plochadLevoy ))
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
08.06.2020, 20:57
TakoyZefir, solve применяется для решения уравнений, заданных в символьном виде. У вас же задана анонимная функция. Для таких функций применяется команда fzero.
0
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 6
08.06.2020, 21:06  [ТС]
Ну что-то типо того , единственное осталось для левой фигуры правильно ее закрасить ,fill не могу записать ((
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
f=@(x)sin(log(x));%анонимная функция 
%построение графика для выбора интервала интегрирования 
h=ezplot(f,[-pi,pi]); 
grid on,hold on 
eps = 1e-7;% заданная точность 
%пЕРВАЯ ТОЧКА ПЕРЕСЕЧЕНИЯ 
%A= 
n = input('Введите число корней уравнения n = '); 
for i=1:n 
 
a = input('Введите левую границу отрезка, содержащего корень, a = '); 
b = input('Введите правую границу отрезка, содержащего корень, b = '); 
 
[ R(i) k(i) ] = Newton(f,eps,a,b) 
 
end 
disp('Нашли координаты х, в которых функция пересекает осью абсцисс: '); 
R 
A=R 
TOCHKA1PERESECHENIYA=double(R) 
 
%выбираем как будем закрашивать фигуру 
figure2 = input('Введите правую границу Фигуры= '); 
TOCHKA2PERESECHENIYA=solve(f);%2 точка пересечения с осью ОХ 
TOCHKA2PERESECHENIYA2=double(TOCHKA2PERESECHENIYA) 
%РАСЧЕТ 
%разбиваем на 2 
%считаем левую и правую площадь через рунге(симпсон) 
%ГРАФИК и расчет ЛЕВОЙ ФИГУРЫ 
disp('Площадь левой фигуры plochadLevoy'); 
E=1e-7; 
plochadLevoy = Runge(f,a,b,E); %обращение к m-функции Runge 
disp('Приближенное значение опр. интеграла (м-д Симпсона с применение правила Рунге)'); 
disp('plochadLevoy ='); 
disp(abs(plochadLevoy)); 
%закрашиваем фигуру 
x=a:0.01:b; 
y=f(x); 
y1(:,1)=[]; 
ynew=[0 y1]; 
fill(ynew,f(x),'m-') 
%ГРАФИК и расчет ПРАВОЙ ФИГУРЫ 
disp('Площадь правой фигуры plochadPravoy'); 
plochadPravoy = Runge(f,b,figure2,E); %обращение к m-функции Runge 
disp('Приближенное значение опр. интеграла (м-д Симпсона с применение правила Рунге)'); 
disp('plochadPravoy'); 
disp(abs(plochadPravoy)); 
x=b:0.01:figure2;%вектор значений х 
x1=[x figure2];% 
y1=[f(x) 0]; 
fill(x1,y1,'r') 
title('y=sin(log(x))') 
%найдем общую площадь 
disp('Площадь общей фигуры ЛЕВАЯ ПЛОЩАДЬ+ПРАВАЯ'); 
Obchaya=abs(abs(plochadPravoy)+abs(plochadLevoy ))
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
08.06.2020, 21:26
Мне непонятно, зачем вам искать корни уравнения, т.е. точки пересечения с осью Х? Вроде по заданию этого не надо делать.
Догадался, для вычисления интеграла.
0
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 6
08.06.2020, 21:30  [ТС]
Centurio, . Для поиска точки пересечения заданной кривой с осью абсцисс воспользоваться функцией solve
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.06.2020, 21:30
Помогаю со студенческими работами здесь

Вычислить площадь плоской фигуры, ограниченной линиями
Ребята,очень нужна помощь... Нужно в матлабе вычислить площадь плоской фигуры ограниченной линиями y=x^2-9x+1 и y=x+3. Для вычисления...

Вычислить площадь фигуры, ограниченной кривыми по методу Симпсона
Доброго времени суток, форумчане. Подскажите пожалуйста как вычислить площадь фигуры ограниченной кривыми по методу Симпсона? Если надо...

Найти площадь плоской фигуры, ограниченной графиками функций
Найти площадь плоской фигуры, ограниченной графиками заданных функций. Построить фигуру, чью площадь требуется найти. Для исключения...

Вычислить площадь фигуры, ограниченной линиями
Вичислить площадь фигуры, ограниченой линиями y=sin(x/2),y=cos(x/2),x=0. и если \begin{cases} & \text{ } x= t \\ & \text{ }...

Вычислить площадь фигуры, ограниченной линиями
Нужно вычислить площадь фигуры, органиченной линиями y=3/x; x+y-4=0


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru