# Solve a matrix system generated at runtime

1 view (last 30 days)
Andrew Farsech on 29 May 2016
Commented: John D'Errico on 29 May 2016
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?
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Answers (1)

John D'Errico on 29 May 2016
abc = matrix(:,2:4)\(matrix(:,1)-gam1-gam2*matrix(:,4));
##### 2 CommentsShowHide 1 older comment
John D'Errico on 29 May 2016
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?

Sign in to comment.

### Categories

Find more on Matrix Indexing 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!