Я хочу, чтобы создать матрицу следующего видаСоздание матрицы с петлей в Matlab
Y = [1 x x.^2 x.^3 x.^4 x.^5 ... x.^100]
Пусть х вектор-столбец. или даже несколько больше вариантов, таких как
Y = [1 x1 x2 x3 (x1).^2 (x2).^2 (x3).^2 (x1.x2) (x2.x3) (x3.x1)]
Пусть x1, x2 и x3 быть векторами-столбцами Рассмотрим первый. Я пытался использовать что-то вроде
Y = [1 : x : x.^100]
Но это тоже не работает, потому что это значит взять Y = [1 х 2 * х 3. * х ... х.^100]? (т.е. все значения от 1 до x.^100 с разностью x) Таким образом, это также не может быть использовано для создания такой матрицы. Учитывайте x = [1; 2; 3; 4]; и предложить способ, чтобы генерировать эту матрицу
Y = [1 1 1 1 1;
1 2 4 8 16;
1 3 9 27 81;
1 4 16 64 256];
без ручного написания
Y = [ones(size(x,1)) x x.^2 x.^3 x.^4]
Вы ищете изменения матрицы Вандермонда. См. '' Doc vander'' за идею, как это сделать. – Nras
Кажется, у вас уже есть ответ с bsxfun. Чтобы понять, почему ваша попытка не сработала, я покажу вам, как получить силу скаляра. Это можно сделать так: '5.^[1 2 3]' (Против вашего '[1: 5: 5^3]', который просто идет от 1 до 125 с шагом 5). Решение «bsxfun» ниже в основном расширяет мой пример. –