Solving matrix of equations

Hi
Can someone help me with following problem: I got this matrix with 5 equations where a1,a2,a3,a4,a5 and b1,b2,b3,b4,b5 are known numbers (for example a1=1,a2=1.5,a3=1.3,a4=1.7,a5=0.8 and b1=2,b2=4,b3=3,b4=5,b5=2.5)
a1=C1*(b1 )^(C2 )
a2=C1*(b2 )^(C2 )
a3=C1*(b3 )^(C2 )
a4=C1*(b4 )^(C2 )
a5=C1*(b5 )^(C2 )
I need to find the best fitting numbers for C1 and C2. Is there some function in matlab I can use?
thanks in advance!

 Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 14 Déc 2011

1 vote

use function nlinfit from Statistics Toolbox
a =[1 1.5 1.3 1.7 0.8]
b =[2 4 3 5 2.5]
fout = @(c,x)c(1)*x.^c(2)
c2 = nlinfit(b,a,fout,[1 1])
fout(c2,b)
ans =
0.88459 1.4641 1.1878 1.722 1.0404
[b1,i1] = sort(b);
a1 = a(i1);
x = linspace(b1(1),b1(end),20);
plot(b1,a1,'ro',x,fout(c2,x));grid on

3 commentaires

Stijn
Stijn le 14 Déc 2011
Is it correct that I find C1 and C2 in c2?!?
in this example [0.5344,0.7269]
thanks!
Andrei Bobrov
Andrei Bobrov le 14 Déc 2011
yes
Stijn
Stijn le 14 Déc 2011
Thanks again! :D

Connectez-vous pour commenter.

Catégories

En savoir plus sur Mathematics 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!

Translated by