Рассмотрим функцию f(y1,y2,y3,y4,z1)=(-(z1^3)/(y3^2))(3(y2-y1+y3^(-1)-z1/10)^2+(1/5)(y2-y1+y3^(-1)-(z1)/10))-y4
с 5 переменными. Когда ставлю f(1,1,1,1,1)
нахожу ответ а когда пишу f(v)
в котором v=(1,1,1,1,1)
матлаб не работает. Как я могу это сделать (вторым способом)?
Вы можете написать функцию-оболочку, которая будет принимать вектор в качестве входного аргумента и «распаковывать» этот вектор перед вызовом вашей функции.
f(y1,y2,y3,y4,z1) = (-(z1^3)/ ...; % your function
fv(v) = f(v(1),v(2),v(3),v(4),v(5));
Или, альтернативно, заставьте f ссылаться на элементы во входном векторе, используя соответствующие индексы:
f(v) = (-(v(5)^3)/(v(3)^2)); ... % etc.