fsolve - "Not enough input arguments"

I've read all the relevant questions for fsolve and input arguments, and I believe I'm doing exactlyw aht the solutions recommend, but it won't work.
In a file saved to my MatLab path I have the function:
function f = pb446(x)
x1 = x(1);
m1 = x(2);
x4 = x(3);
m4 = x(4);
f(1) = x4 - .15*6000;
f(2) = x1 * m1 - .66*6000;
f(3) = (1-x1) * m1 + (1-x4) * m4 - 20;
f(4) = m1 / m4 - 4.4;
end
Then, in the command window:
fsolve(pb446, [1 1 1 1])
It correctly references the pb446 function as far as I can tell, but returns:
Not enough input arguments.
Error in pb446 (line 2)
x1 = x(1);
Even though I'm passing a vector of 4 values, it says there's not enough input. How can I make it accept the input?

Risposte (1)

fsolve(@pb446, [1 1 1 1])

2 Commenti

doesn't help!!
Please post your complete error message, everything in red.

Accedi per commentare.

Categorie

Prodotti

Richiesto:

il 22 Set 2016

Commentato:

il 14 Gen 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by