Finding a variable in a equation

Please, I'm new to MATLAB and I want to know how to solve a problem.
I have two variables with 2000 values (I choose 10 to put here):
x = [ 0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 ];
y = [-3.6621 7.32421 -1.831054 -1.831054 -7.32421 3.6621 -1.83105 0.00023 0.00847]
These variables are in the equation: y = K((e^(x/25)) − 1)
I have to use Ordinary least squares (linear regression) or Semilogarithmic plot to find the "K" with the informations above of x and y.
If I choose linear regression I can use these functions: fit, fittype,fitoptions.
Thanks!

Risposte (2)

Michael Bouser
Michael Bouser il 23 Mar 2016
Modificato: Michael Bouser il 23 Mar 2016

0 voti

First, apply a little algebra. Rewrite your equation in the form "K=". You are going to need to isolate your variable.
Next, because you are using vector inputs, make sure you use ".*" or "./" to force Matlab to do the math "element by element" if you expect an answer in the form of a vector. I think you need to use exp() to do the "e^" part.
It looks like you are doing ok with using parentheses to "maintain order".

1 Commento

Befs .07
Befs .07 il 25 Mar 2016
Modificato: Befs .07 il 25 Mar 2016
Actually, I have 2000 values of x and y (I choose 5 to put there) and I have to use Ordinary least squares Method. I can use these functions: fit, fittype,fitoptions.
Thanks for all!

Accedi per commentare.

The following obtains a least squares value for K:
K = y/(exp(x/25)-1);
I am assuming x and y are still row vectors here and of the same length.

2 Commenti

‘Befs .07’ is constrained to using fit, fittype, and fitoptions.
Well, if ordinary least squares are called for, do this:
t = exp(x/25)-1;
K = sum(y.*t)/sum(t.^2);

Accedi per commentare.

Categorie

Richiesto:

il 23 Mar 2016

Modificato:

il 26 Mar 2016

Community Treasure Hunt

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

Start Hunting!

Translated by