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!

 채택된 답변

Andrei Bobrov
Andrei Bobrov 2011년 12월 14일

1 개 추천

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

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

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

질문:

2011년 12월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by