Fitting data into a required function

1 visualización (últimos 30 días)
Vishal Dolas
Vishal Dolas el 13 de Feb. de 2021
Comentada: Star Strider el 13 de Feb. de 2021
I am trying to fit this data -
x = [0.001 0.01 0.1 1 10];
y = [63.5 74.5 94.1 94.2 103.5];
into a function y = m*x^n
polyfit and lsqcurvefit not seem to be working here
can someone help me?

Respuesta aceptada

Star Strider
Star Strider el 13 de Feb. de 2021
Try this:
x = [0.001 0.01 0.1 1 10];
y = [63.5 74.5 94.1 94.2 103.5];
fcn = @(b,x) b(1).*x.^b(2);
B0 = rand(2,1);
B = lsqcurvefit(fcn, B0, x, y)
figure
plot(x, y, 'p')
hold on
plot(x, fcn(B,x), '-r')
hold off
set(gca, 'XScale','log') % Optional
grid
xlabel('X')
ylabel('Y')
legend('Data', sprintf('y = %.3f\\cdotx^{%.3f}', B), 'Location','E')
.
  2 comentarios
Vishal Dolas
Vishal Dolas el 13 de Feb. de 2021
Thanks a lot it worked!!
Star Strider
Star Strider el 13 de Feb. de 2021
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (1)

randerss simil
randerss simil el 13 de Feb. de 2021
Editada: randerss simil el 13 de Feb. de 2021
%if true
m = 2
n = 1.5
Y = m*x.^n;
k = polyval(x,Y)
First use polyval for the equation and then apply polyfit

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by