Matlab: вычислительная норма вектора

a является вектором 1. X является матрицей n Я хочу, чтобы компьютер норма вектора X*a, Я знаю, что могу сделать это norm(X*a), По странности возникает, когда я хочу сделать это сам:

Если я сделаю это sqrt(a'*X'*X*a)Я получил предупреждение Parethesize the multiplication of 'X' and its transpose to ensure the result is Hermetian.”

Следовательно, норма должна быть sqrt(a'*(X'*X)*a) (как следует из предупреждения) или

sqrt((a'*X')*(X*a)) (что мне кажется более правильным).

Я пытаюсь сравнить их вместе с norm функция для некоторых простых примеров, но они кажутся одинаковыми. Но если я применяю это к моей программе, которая использует зависящую от времени матрицу, они различаются (показано на графике).

0 ответов

Другие вопросы по тегам