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!

 Accepted Answer

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

Is it correct that I find C1 and C2 in c2?!?
in this example [0.5344,0.7269]
thanks!
Thanks again! :D

Sign in to comment.

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!