понимание 'Выходные данные функции должны быть того же размера, что и входные. Если FUN является массивом-значением, установите для параметра 'ArrayValued' значение true ' - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь численно интегрировать свою функцию log(1+A.*exp(-t.^2)) из -Inf в Inf, где A - матрица 80x1. Когда я использовал интегральную функцию, она показывает ошибку, что

Выход функции должен быть того же размера, что и вход. Если FUN является массивом-значением, установите для параметра 'ArrayValued' значение true

yprime = integral( @(t) (log(1+ A.*exp(-t.^2))),-Inf,Inf );

Я ожидал yprime матрицу 80x1, но это не так!

1 Ответ

0 голосов
/ 19 апреля 2019

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

>> yprime = integral( @(t) (log(1+ A.*exp(-t.^2))), -Inf, Inf, 'ArrayValued', true );
>> size(yprime)
ans =
    80     1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...