how to calculate optimal value of a unknown constant of an equation with known data points?

3 views (last 30 days)
Hey, I wanted to solve for the optimal value of constant. I have data points of the equation .
please help, how can I do that.
equation is:
y= 1/sqrt(k^2+x^2)

Accepted Answer

Walter Roberson
Walter Roberson on 11 Sep 2020
k0 = rand() * 10;
bestk = lsqcurvefit( @(k,x)1./sqrt(k.^2+x.^2), k0, x, y);
  7 Comments
Adam Danz
Adam Danz on 11 Sep 2020
We don't know what to do either without knowing the full error message :)
If you're looking for an optimal k, Walter's approach is probably the one you want to pursue. If you have questions about your results, we need the inputs you're using so we can reproduce the results.

Sign in to comment.

More Answers (1)

Adam Danz
Adam Danz on 10 Sep 2020
k = sqrt((1/y)^2 - x^2)
  3 Comments
Adam Danz
Adam Danz on 11 Sep 2020
% assign demo values
k = 2.2; % = 2.2
x = 1:10; % = [1,2,3,4,5,6,7,8,9,10]
y = 1./sqrt(k^2 + x.^2); % = [0.41 0.33 0.26 0.21 0.18 0.15 0.13 0.12 0.10 0.09]
% Solve for k
k = sqrt((1./y).^2 - x.^2) % = [2.2 2.2 2.2 2.2 2.2 2.2 2.2 2.2 2.2 2.2 ]
k = sqrt((1/y(1))^2 - x(1)^2) % = 2.2
Or, as Walter shows, you can use mean(), mode(), median().

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!