Minimization problem - matrix frobenius norm
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
aviel nah
am 26 Sep. 2015
Kommentiert: aviel nah
am 27 Sep. 2015
Hey there, i am working on homework and i need to implement an algorithm from a paper. in the final stage, i have to smooth a matrix which represents movment of camera, (9xnumber of frames). this is done by fitting a 3 dim polynomial model, so if E is the camera matrix, i have to solve:
min ||C*E-C*K*B||
where K is 9*dim coeff matrix, and B is just the variable meshgridded: [1, 1^2, 1^3; 2 2^2 2^3;3 3^2 3^3] etc.
the norm is Frobenius norm. how can i solve this in matlab? i tried lsqnolin, it's working, but taking LONG time, and easily reaches memory limit with more than 400 frames.
Thanks
0 Kommentare
Akzeptierte Antwort
Matt J
am 26 Sep. 2015
Bearbeitet: Matt J
am 26 Sep. 2015
So, we're solving for K? Since there are no constraints, it is a purely linear least squares problem and an analytical solution is available,
K=C\(C*E)/B
If the matrix C is square, nonsingular, this of course reduces to
K=E/B
3 Kommentare
Matt J
am 26 Sep. 2015
Bearbeitet: Matt J
am 26 Sep. 2015
i was quite sure i cannot use least squares since i am trying to minimize a matrix norm, which is differend than the 2d euclidian norm on 1d vectors.
The Frobenius norm is not an induced matrix norm, so it is actually very much the same. The problem can be rewritten in 1D vector form as follows
y=reshape(C*E,[],1);
A=kron(B.',C);
min ||A*k-y||
where k=K(:).
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Particle & Nuclear Physics finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!