Solving matrix of equations

4 views (last 30 days)
Stijn
Stijn on 14 Dec 2011
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!

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 14 Dec 2011
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 Comments
Stijn
Stijn on 14 Dec 2011
Thanks again! :D

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!