0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 45
1

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

29.06.2015, 12:16. Показов 4225. Ответов 7
Метки нет (Все метки)

Доброго времени суток, программисты
Прошу помощи переделать программу из MatLAB, в С++ Заранее всем спасибо!

Вычислить площадь фигуры ограниченной функциями f1(x)=arcsin(x) и f2(x)=sin(2x) на отрезке [0, -0838] методом левых прямоугольников с погрешностью 0.001

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
71
72
73
74
75
76
77
78
79
80
81
clear
 
clc
 
a=0; b=0.838;h=0.001; %Задание границ интервала и шага интегрирования
 
x=a:h*10:b; % Задание интервала изменения аргумента х
 
D=F1(x);% Обращение к подпрограмме-функции f1(x)=arcsin(x)
 
C=F2(x);%Обращение к подпрограмме-функции f2(x)=sin(2x)
 
stem(x,C,'r','LineWidth',2); hold
 
stem(x,D,'w','LineWidth',2') ;
 
R1=Pr(@F1,a,b,h);
 
R2=Pr(@F2,a,b,h);
 
SS=R2-R1; %Вычисление площади области, ограниченной графиками функций
 
disp('Площадь фигуры ограниченной функциями f1(x)=arcsin(x) и на отрезке [0; 0.838] равна')
 
disp(SS)%Подпрограмма-функция, выполняющая численное интегрирование методом левых прямоугольников
 
function S=Pr(F,a,b,h);
 
n=(b-a)/h;
 
S=0;
 
for i=1:n-1
 
   x(i)=a+h*(i-1);
 
   S=S+F(x(i));
 
    end
 
S=S*h;
 
function Fa=F1(x);
 
Fa=asin(x) ;
 
function Fs=F2(x);
 
Fs=sin(2*x) ;
 
%Численное решение дифференциального уравнения 1-го порядка Методом Эйлера
clear
clc
a=-2; b=5;% левая и правая границы интервала
M=280;% число точек разбиения
y0=1;%начальные условия
f=@(x,y) y./2.^(x.^2)+sin(2.^x);% задание правой части дифференциального уравнения y' = x*y/2
h=(b-a)/M; %шаг изменения аргумента
X=a:h:b; %Задание массива значений аргумента Х
%Вычисление значений функции в узловых точках методом Эйлера
 Y(1)=y0;
 
for j=1:M
 
Y(j+1)=Y(j)+h*f(X(j),Y(j));
 
end
 
disp('Решение дифференциального уравнения')
 
disp('        X             Y')
 
R=[X' Y'];
 
disp(R)
 
set(gcf,'color','white')
 
plot(X,Y,'LineWidth',3)
 
grid
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2015, 12:16
Ответы с готовыми решениями:

Вычислить площадь фигуры ограниченной линиями
Ребят помогите плс!Задачка никак не получается((( Постановка задачи. Вычислить площадь фигуры...

Вычислить приближенно площадь фигуры, ограниченной функцией y=x^2 и прямой y=5 x/2, разбивая изменения x на 100 частей
1 задание: Вычислить приближенно площадь фигуры, ограниченной функцией y=x^2 и прямой y=5+x/2,...

Составить программу приближенного вычисления площади фигуры, ограниченной заданными линиями
1)Составить программу приближенного вычисления площади фигуры, ограниченной заданными линиями....

Составить программу приближенного вычисления площади фигуры, ограниченной заданными линиями
Использовать метод прямоугольников. Для построения прямоугольника использовать правый конец...

7
2431 / 1831 / 404
Регистрация: 15.12.2013
Сообщений: 8,086
29.06.2015, 12:52 2
alex-rapro, показывайте наработки.
0
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 45
30.06.2015, 09:16  [ТС] 3
S_el, получилось только задать переменные, решить диф. уравнения и создать цикл, остальное не понятно, как из матлаба в С++ переделать. Поэтому обратился к вам, форумчанинам.
0
52 / 41 / 16
Регистрация: 16.12.2012
Сообщений: 144
30.06.2015, 11:12 4
Лучший ответ Сообщение было отмечено alex-rapro как решение

Решение

Вот написал , попробуй , но не знаю правильно считает или нет .

C++
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
#include <iostream>
#include <math.h>
#include <iomanip>
 
using std::endl;
using std::cout;
using std::cin;
using std::setprecision;
 
int main()
{
    double sArcSin=0,sSin=0; //переменные обозначающие площади соотв функций
    double width=0.001;//ширина шага  
    double x,y;
    cout<<"Input range  \nx = ";//ввод диапазона от 0 до 1 
    cin>>x;
    cout<<"y = ";
    cin>>y;
    
    for(double i=x;i<y;i+=width) //считаем площади
        {
            sArcSin+=asin(i);
            sSin+=sin(2*i);
        }
    sArcSin*=width;
    sSin*=width;
    cout<<"Square of function arcsin(x) on distance from "<<x<<" to "<<y<<"  = "<<setprecision(5)<<sArcSin<<endl;//площадь arcsin
    cout<<"Square of function sin(2x) on distance from "<<x<<" to "<<y<<"  = "<<setprecision(5)<<sSin<<endl<<endl;//площадь sin
    cout<<"***Solution***\nSquare of function sin(2x)-arcsin(x) on distance from "<<x<<" to "<<y<<" = "<<setprecision(5)<<sSin-sArcSin<<endl<<endl;//площадь искомой фигуры
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 45
30.06.2015, 11:36  [ТС] 5
Stanis, спасибо! Не могу понять, почему он в ответе пишет "nan"?
Миниатюры
Вычислить площадь фигуры ограниченной заданными функциями  
0
52 / 41 / 16
Регистрация: 16.12.2012
Сообщений: 144
30.06.2015, 11:48 6
потому что диапазон задается от 0 до 1 наверное
1
Модератор
Эксперт С++
12094 / 9768 / 5907
Регистрация: 18.12.2011
Сообщений: 26,220
30.06.2015, 11:48 7
Интересное кино.
Вы задали x от 1 до 15
А что такое asin(x) при x>1 ?????????????
1
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 45
30.06.2015, 16:01  [ТС] 8
zss, точно, вообще ерунду прогнал, извиняюсь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2015, 16:01
Помогаю со студенческими работами здесь

Составить программу приближенного вычисления площади фигуры, ограниченной заданными линиями
Составить программу приближенного вычисления площади фигуры, ограниченной заданными линиями. Для...

Составить программу приближенного вычисления площади фигуры, ограниченной заданными линиями
1)Составить программу приближенного вычисления площади фигуры, ограниченной заданными линиями.В...

Найти площадь фигуры, ограниченной точками
Помогите пожалуйста. Надо срочно сделать на С две проги: 1. программа которая по трем...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru