How can I change a 3x3 matrix into several matrices which are multiple and plusing together?
Show older comments
I want to change a 3x3 matrix to a several matrices for example my 3x3 matrix is A and I have 3 symbolic which I want to factor from and make the other matrices I mean
A=[a*cos(h)+d,b*sin(g)+e,c*sin(i)+f;a*sin(g)+f,b*cos(i)+e,c*sin(h)+d;a*cos(g)+d,b*sin(h)+f,c*sin(i)+e]
B[a;b;c]
%
C=[cos(h),sin(g),sin(i);sin(g),cos(i),sin(h);cos(g),sin(h),sin(i)]
D=[d,e,f;f,e,d;d,f,e]
I want to write a code that I give (A and B) and get (C and D)
7 Comments
Rik
on 28 Feb 2018
You are trying to solve A=C*B+D. Have you tried the solve function?
syms a b c d e f g h i
A=[a*cos(h)+d,b*sin(g)+e,c*sin(i)+f;a*sin(g)+f,b*cos(i)+e,c*sin(h)+d;a*cos(g)+d,b*sin(h)+f,c*sin(i)+e];
B=[a;b;c];
C=[cos(h),sin(g),sin(i);sin(g),cos(i),sin(h);cos(g),sin(h),sin(i)];
D=[d,e,f;f,e,d;d,f,e];
sol=solve(A==C*B+D,[d e f g h i]);
This returns only empty syms, meaning that Matlab can't find a general solution to your question.
john white
on 28 Feb 2018
john white
on 28 Feb 2018
Guillaume
on 28 Feb 2018
If you want A = C*X + D, then shouldn't C equals [3 0; 0 4]?
john white
on 28 Feb 2018
Edited: john white
on 28 Feb 2018
john white
on 28 Feb 2018
Answers (0)
Categories
Find more on Logical 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!