Не могу интегрировать функцию - PullRequest
0 голосов
/ 24 апреля 2019

Я определил функцию

temp = [2;1.5; 0.75; 1.5; 3.75; 0.75; 1.25; .075; 2.0; 1.0; 1.0]; 
A1 = @(x) temp(floor(x*10)+1);

это функция с одним входом и одним выходом.Я хочу интегрировать A1 (x) от 0 до 1. Когда я использую числовой интегратор Matlab integra .Выдает следующую ошибку:

>> integral(A1,0,1)

Error using integralCalc/finalInputChecks (line 526)
Output of the function must be the same size as the
input. If FUN is an array-valued integrand, set the
'ArrayValued' option to true.

Просто чтобы проверить, не работает ли интеграл так, как это должно быть, я определил фиктивную функцию

f = @(x) sin(x)

Я могуинтегрировать это правильно.Я не уверен, в чем проблема с функцией A1 (x).Я использую Matlab R2018a

Обновление: Я пытался

w = @(x) 2

все еще не работал.

1 Ответ

1 голос
/ 24 апреля 2019

Просто прочитайте сообщение об ошибке ...

Установите 'ArrayValued' на true

>> integral(A1,0,1,'ArrayValued',true)

ans =

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