Borrar filtros
Borrar filtros

Solve a matrix system generated at runtime

2 visualizaciones (últimos 30 días)
Andrew Farsech
Andrew Farsech el 29 de Mayo de 2016
Comentada: John D'Errico el 29 de Mayo de 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?

Respuestas (1)

John D'Errico
John D'Errico el 29 de Mayo de 2016
abc = matrix(:,2:4)\(matrix(:,1)-gam1-gam2*matrix(:,4));
  2 comentarios
Andrew Farsech
Andrew Farsech el 29 de Mayo de 2016
Editada: Andrew Farsech el 29 de Mayo de 2016
Thanks for the answer. could you clarify me? Doesn't seem work. I need all a, b, c parameters separately.
John D'Errico
John D'Errico el 29 de Mayo de 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?

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by