• Регистрация
Alexandra
Alexandra 0.00
н/д

Вычисление интеграла. Построение графика интеграла

24.05.2020

Доброго времени суток!
Пытаюсь получить решение интеграла в виде функции и отобразить его график.
Возникают проблемы с интегралом,т.к.при вычислении появляются дробные числа.
Появляется ошибка: Array indices must be positive integers or logical values. 
Если решение для интегралов с дробными числами, может индексация этих значений?
Не совсем понимаю, как это можно реализовать.

Привожу свое решение:

F1=50;
F2=200;

Z=-0.3:0.3;% 

m=0;
s=0.3;
a=1./(s*sqrt(2*pi));

h=a*exp(-(pow2(x)./(2*(pow2(s)))));% функция Гаусса
u=(F2*(x-Z)+(F1+F2)*Z)./(F1+F2);
x = -50:1:50; % диапазон интегрирования
y =u(x).*h(x) ; % значения подынтегральный функции
F = cumtrapz(x,y); % постепенный расчет интеграла
% график
plot(x,y,'b',x,F,'r'), grid on

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

Теги

      24.05.2020

      Ответы

      • kurguz
        kurguz+270.00
        24.05.2020 07:28

        Проблема возникает не из-за дробных чисел, а из-за отрицательных индексов, которые вы задаете в переменной x.

        u(-50) - вы просите дать вам минус 50й элемент из вектора u, такого не бывает. 

        Возможно вам стоит посмотреть примеры из Symbolic Math Toolbox.

        • Centurio
          Centurio+42.00
          24.05.2020 17:29

          У вас должна была первой появиться ошибка, что переменная или функция "х" не определена, так как вы используете её в функции h, не присвоив "х" никакого значения.

          Вам надо функции записать в виде анонимных функций.