Solve a matrix system generated at runtime

I have a matrix with 31 rows and 4 columns
I want to find the values of unknown parameters a, b, c that multiplied for the other columns minimize the difference between first columns and the rest of the matrix according this formula:
matrix(i,1)=a*matrix(i,2)+b*matrix(i,3)+c*matrix(i,4)+(gam1+gam2*matrix(i,4))
(gam1 and gam2 are 2 constants that I already know, and i is the row index)
Matlab seems doesn't like undefined variables. What is the syntax that I have to use?

답변 (1개)

John D'Errico
John D'Errico 2016년 5월 29일

0 개 추천

abc = matrix(:,2:4)\(matrix(:,1)-gam1-gam2*matrix(:,4));

댓글 수: 2

Andrew Farsech
Andrew Farsech 2016년 5월 29일
편집: Andrew Farsech 2016년 5월 29일
Thanks for the answer. could you clarify me? Doesn't seem work. I need all a, b, c parameters separately.
It honestly does not work? Did you try it? Is it really that difficult to write:
a = abc(1);
b = abc(2);
c = abc(3);
Perhaps it is time to learn how to use vectors in MATLAB?

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

카테고리

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

질문:

2016년 5월 29일

댓글:

2016년 5월 29일

Community Treasure Hunt

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

Start Hunting!

Translated by