MATLAB Answers


fsolve on polynominal function

Asked by Aleksander Vae Haaland on 27 Sep 2019
Latest activity Commented on by Aleksander Vae Haaland on 27 Sep 2019
I need to use fsolve to calculate y=1 in a non linear function, y = ax^2 + bx + c .
x, a, b and c is matrix.
I don't understand the documentation around fsolve and need this to work by the end of the day..
If anybody can help out, I would be so happy!
The code I have been trying out, is below. Ask if there is anything I can help with!
x0 = [0,0];
solveTest = fsolve(myFun(x, a, b, c), x0);
function y = myFun(x, a, b, c)
y = a.*x.^2 + b.*x + c;
y(x) = 1;


Sign in to comment.

1 Answer

Answer by Guillaume
on 27 Sep 2019

Solving is the same as solving , which is easily solved with roots:
roots([a, b, c-1])
your myfun doesn't make much sense:
y = a.*x.^2 + b.*x + c; %assuming a,b,c and x are scalar results in y being a scalar value
y(x) = 1; %set the element of array y (which has just one element) at index x (which may not even be integer) to 1
fsolve solves for not for . Again, the latter is easily rewrittent as but using fsolve, an iterative process that may return an approximation of the roots is a complete waste of time when there's a function for getting the roots of polynomial.

  1 Comment

Looked good. Remembered now that a, b and c is matrixes. That kinda complicates things.. Is there a way to rewrite it?

Sign in to comment.