Getting x for a given y value from a cfit object

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
Star Strider le 7 Déc 2020

0 votes

2 commentaires

jdl3141
jdl3141 le 7 Déc 2020
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?
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
.

Connectez-vous pour commenter.

x = 2*rand(20, 1);
y = 1.25*sin(x+0.3+rand(size(x)));
f = fit(x, y, 'sin1')
f =
General model Sin1: f(x) = a1*sin(b1*x+c1) Coefficients (with 95% confidence bounds): a1 = 1.222 (1.043, 1.401) b1 = 1.149 (0.8509, 1.446) c1 = 0.5366 (0.1605, 0.9127)
desiredy = 0.75;
fun = @(x) desiredy - f(x);
desiredx = fzero(fun, 0)
desiredx = 0.1081
f(desiredx) % should be closer to desiredy
ans = 0.7500

Catégories

En savoir plus sur Mathematics and Optimization dans Centre d'aide et File Exchange

Produits

Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by