lwming2001 发表于 2008-12-20 15:35

求助:矩阵变换

请问在matlab里面如何实现下列变换:

diag(a1, a1, a1, a2, a2, a2, a3, a3, a3) = A * diag(a1, a2, a3) * B
其中,A和B是相应的常数阵。

请问,A和B怎么求?
3q

sigma665 发表于 2008-12-20 21:04

写成方程形式的话有9个方程,未知数远超9个,A B 不唯一

ch_j1985 发表于 2008-12-20 21:10

回复 楼主 lwming2001 的帖子

LZ程序写法有错误,应该是
diag() = A * diag() * B

ch_j1985 发表于 2008-12-20 21:17

回复 楼主 lwming2001 的帖子

可以参考一下这个例子:
clear
clc
%syms a1 a2 a3
a1=1;
a2=2;
a3=3;
C=diag();
D=diag();
A=ones(9,3);%可以变化
E=A*D;
B=E\C

alljoyland 发表于 2008-12-20 22:53

经过实验
rank =1
有点问题
页: [1]
查看完整版本: 求助:矩阵变换