Getting x for a given y value from a cfit object
Afficher commentaires plus anciens
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?
Réponses (2)
Star Strider
le 7 Déc 2020
0 votes

2 commentaires
jdl3141
le 7 Déc 2020
Star Strider
le 7 Déc 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
Catégories
En savoir plus sur Mathematics and Optimization dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!