У меня есть следующая проблема. Я пытаюсь создать дескриптор функции, который является вектором. В частности, у меня есть что-то вроде этогоСоздание дескриптора функции для каждого элемента в векторе (Matlab)
EQ0 = @(W) m1.^2*(exp(W))-m2.^2
где m1 и m2 - векторы того же размера. Итак, для каждого m1 (i) и m2 (i) я хочу иметь ручку W (i). Мне это нужно для того, чтобы найти те W (I) 'ы в следующем шаге, используя fsolve в чем-то, глядя, как этот
n=size(m1)
x0 = zeros(n);
Wbar = fsolve(EQ0,x0)
Я попытался с помощью arrayfun, но получил следующее сообщение об ошибке
EQ0 = arrayfun(@(W) m1.^2*(exp(W))-m2.^2, m1=m1e, m2=m2e)
Error: The expression to the left of the equals sign is not a valid target for an assignment.
Еще одна попытка при помощи arrayfun в результате этого (здесь я использовал m1 и m2 векторов непосредственно, а не в качестве входов, как и в предыдущем случае)
EQ0 = arrayfun(@(W) m1.^2*(exp(W))-m2.^2,:)
Undefined variable arrayfun.
Я явно не хватает что-то. Я просмотрел некоторые каналы на сервере arrayfun, но похоже, что моя проблема несколько отличается.
Любые советы приветствуются.
Не является ли функция дескриптором скорее EQ0, чем W? если здесь зацикливается опция, так что у вас будет EQ0 (1:10) и x0 (1:10) и цикл через 10 разных? – Finn
Это ** не ** Python. 'm1 = m1e' и' m2 = m2e' неверный синтаксис. – rayryeng
@Finn. Моя единственная цель здесь состоит в том, чтобы в конечном итоге решить систему независимых нелинейных уравнений для W. Определим функцию f (W, m1, m2, ...), где W будет матричным входом (nxm) и то я хочу назначить дескриптор для управления этой матрицей W, чтобы иметь возможность использовать fsolve для поиска этих Ws (подумайте о проблеме с фиксированной точкой для каждой записи этой матрицы (nxm)). –