Getting x for a given y value from a cfit object
Mostrar comentarios más antiguos
I have a cfit object:
[expfit, gof] = fit(-pos,sam_data,'exp1','Exclude',excluded);
From this I can extract the fit parameters (which in the case of 'exp1' are) expfit.a, expfit.b. From here, I could define the inverse equation to
and solve for x by evaluating at y.
I want to find out what the x-value is at:
y = exp(-1)*max(sam_data)
without finding the inverse equation. How can I do this?
Respuestas (2)
Star Strider
el 7 de Dic. de 2020
0 votos

2 comentarios
jdl3141
el 7 de Dic. de 2020
Star Strider
el 7 de Dic. de 2020
Try this:
pos = linspace(-5,5); % Create Data
a = 3; % Guess The Parameter Value
b = 5; % Guess The Parameter Value
sam_data = a*exp(b*pos); % Create Data
y = exp(-1)*max(sam_data);
xq = interp1(sam_data, pos, exp(-1)*max(sam_data)); % Desired Result
.
x = 2*rand(20, 1);
y = 1.25*sin(x+0.3+rand(size(x)));
f = fit(x, y, 'sin1')
desiredy = 0.75;
fun = @(x) desiredy - f(x);
desiredx = fzero(fun, 0)
f(desiredx) % should be closer to desiredy
Categorías
Más información sobre Mathematics and Optimization en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!