Guessing the values of a function by using initial values

10 views (last 30 days)
Hey there,
I have been trying to use Newton Raphson method in order to get Matlab to guess some unknowns of a function. Hovewer, I did not have any luck doing that. Is there a better way to guess the values of a function?
Also the function I am working on is "f(x,y)=x-((28+y)/2)". And the initial values are; x_init=26.94 y_init=25.87.
Is it a right approach to use Newton Raphson method, or is there a way in Matlab to guess the variables of a function?
  6 Comments
Torsten
Torsten on 4 Aug 2022
Edited: Torsten on 5 Aug 2022
In parameter estimation, you usually have more equations than unknown. The usual Newton-Raphson does not apply in this case.
Look up "Gauss-Newton-algorithm" for more details:
In MATLAB, the functions "lsqlin" (for linear problems) or "lsqcurvefit" (for nonlinear problems) should do what you want.

Sign in to comment.

Answers (1)

Les Beckham
Les Beckham on 3 Aug 2022
Edited: Les Beckham on 3 Aug 2022
You don't have to "guess" the values of the function, you can just calculate them.
Example
x = [-20:.1:20];
y = x;
[X,Y] = meshgrid(x, y);
f = @(x,y) x-((28+y)/2)
f = function_handle with value:
@(x,y)x-((28+y)/2)
Z = f(X,Y);
h = surf(X,Y,Z);
h.EdgeColor = 'none';
If you are trying to find the zeros of the function, that is a different question.
  2 Comments
Ahmet Emre
Ahmet Emre on 3 Aug 2022
I also need to run this in an iteration to get every calculated value of x and y and assign those to separate arrays. Say, to create an 1x64 array. That way, I will be able to solve my problem. I guess the solution you provided only gives certain points. This is the reason I was curious if it would somehow be possible to create "guess values". Thank you, by the way.
Les Beckham
Les Beckham on 3 Aug 2022
You are welcome.
I'm afraid I still don't understand what you are trying to do.

Sign in to comment.

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!