How to solve matrix problem C0*A*C1*B*C2*D*C3 = C4 with C=3x3-matrix and A,B,C=variables within matrix ?

3 次查看(过去 30 天)
Hello everyone,
I am currently thinking about a solution to find /estimate three variables in hidden in matrices.
Problem:
Equation: C0*A*C1*B*C2*D*C3 = C4
with: C0,C1,C2,C3,C4 know 3x3 matrices
and: A=variable in form of 3x3 matrix=[cos(α) -sin(α) 0; sin(α) cos(α) 0; 0 0 1]
and: B=variable in form of 3x3 matrix=[cos(β) -sin(β) 0; sin(β) cos(β) 0; 0 0 1]
and: C=variable in form of 3x3 matrix=[cos(γ) -sin(γ) 0; sin(γ) cos(γ) 0; 0 0 1]
Solution needs:
Estimate of solutions for variables α , β, γ (all scalar values)
I read about the least-square method to match / fit / find the variables α , β, γ , but i have diffuculities to find the Matlab implementation.
I can not use any Matlab-toolbox-related functions like SYMS.
Thank you for your inspiring ideas in advance
Have a good day
Robert

采纳的回答

Harald
Harald 2023-7-11
Hi,
In general, please consider providing examples of the known matrices so that the suggestion can be tested on a realistic example.
The relatively new problem-based approach should make this relatively easy in the current release: define the angles, define the matrices based on them, and minimize sum( (C0*A*C1*B*C2*D*C3 - C4).^2, "all").
In older releases, I recommend looking at lsqnonlin. Both approaches require Optimization Toolbox.
If you want to completely avoid toolboxes, you can try fminsearch, but it may not be as good at finding solutions.
Best wishes,
Harald

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!