@Akazotik
Студент

Как реализовать формулу в matlab?

Имеется формула:
fc0f789723f3b0ff8e7222f915f77b37.png
где
66f8973c48e82d49029a56bff6d6b11c.png
Нужно забить эту формулу в матлабе при условии наличия 15ти различных массивов данных. Т.е. нужно создать 105 пар. Я не пойму как возвести в квадрат полученные разницы массива и его среднего. Матлаб отказывается это делать.
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Akazotik Автор вопроса
Студент
1. имеется два массива: c1, c2
2. mean(c1), mean(c2) - подсчёт среднего для двух массивов
3. c1meanc1 = abs(c1-mean(c1)), c2meanc2 = abs(c2-mean(c2)) - подсчёт разницы между значениями массива и средним
4. sum1 = sum(c1meanc1.*c2meanc2) - подсчёт числителя в формуле: сумма произведения пункта 3.
5. sqrt1 = sqrt(sum(c1meanc1.*c1meanc1)), sqrt2 = sqrt(sum(c2meanc2.*c2meanc2)) - подсчёт знаменателя формулы: корни сумм квадрата разности между значениями массива и его средним
6. f = (sum1)/(sqrt1*sqrt2) - сама формула

Осталось сделать, чтобы данная формула выполнялась с вышеописанным условием.
Ответ написан
x67
@x67
Мы тут не предсказатели, так что выкладывайте код.
--
Вероятнее всего вы пытаетесь произвести скалярную операцию над массивом, что невозможно. Но можно произвести эту операцию над всеми элементами массива, для этого перед оператором поставьте точку, такие оперции называются "element wise operations", вот пример элементарного умножения
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы