я хотел бы создать анонимную функцию, которая делает что-то вроде этого:Создать переменное число членов в анонимной функции, которая выводит вектор
n = 5;
x = linspace(-4,4,1000);
f = @(x,a,b,n) a(1)*exp(b(1)^2*x.^2) + a(2)*exp(b(2)^2*x.^2) + ... a(n)*exp(b(n)^2*x.^2);
я могу сделать это, как таковые, без прохождения явного параметра n
:
f1 = @(x,a,b) a(1)*exp(-b(1)^2*x.^2);
for j = 2:n
f1 = @(x,a,b) f1(x,a,b) + a(j)*exp(b(j)^2*x.^2);
end
но мне кажется, хорошо, вид Hacky. У кого-то есть лучшее решение для этого? Я хотел бы знать, как кто-то другой будет относиться к этому.
спасибо Andras ... спросил аналогичный вопрос на прошлой неделе, пытался лениться о размножении матриц. хороший ответ! – ConfusinglyCuriousTheThird
Даже лучше, чем 'bsxfun'! Но вам действительно нужна эта сумма? –
@ LuisMendo спасибо, конечно, я этого не делал :) Я даже объяснил, как matmul делает это для вас: D Исправлено сейчас :) –