MATLAB 编程问题:矩阵Y=X*C,已知X, Y,怎么求C
X是256x45的矩阵,Y是256x1的列阵,C应是45x1的列阵,我的程序是X=[];Y=[];C;Y=X*C;运行后求C,新学MATLAB,小白一个,求大神指教,谢谢...
X是256x45的矩阵,Y是256x1的列阵,C应是45x1的列阵,
我的程序是
X=[];
Y=[];
C;
Y=X*C;
运行后求C,新学MATLAB,小白一个,求大神指教,谢谢。 展开
我的程序是
X=[];
Y=[];
C;
Y=X*C;
运行后求C,新学MATLAB,小白一个,求大神指教,谢谢。 展开
3个回答
展开全部
这是个线性方程组的求解问题。
但既不能用C=X\Y求解,也不能用C=inv(X)*Y求解,因为系数矩阵X不是方阵,故X的逆不存在。
故求解的方法是:
方法(1),将增广矩阵(X,Y)化为行最简型,检查是否有解,如果有解,写出其唯一解或通解。
而化增广矩阵化为行最简型,可以用matlab命令函数rref(X,Y).
方法(2),因为系数矩阵X的逆不存在,则可以使用伪逆pinv来求近似值,即C=pinv(X)*Y,
因为在实际问题中,我们常常只要有具有相对精度的近似值就可以了。
但既不能用C=X\Y求解,也不能用C=inv(X)*Y求解,因为系数矩阵X不是方阵,故X的逆不存在。
故求解的方法是:
方法(1),将增广矩阵(X,Y)化为行最简型,检查是否有解,如果有解,写出其唯一解或通解。
而化增广矩阵化为行最简型,可以用matlab命令函数rref(X,Y).
方法(2),因为系数矩阵X的逆不存在,则可以使用伪逆pinv来求近似值,即C=pinv(X)*Y,
因为在实际问题中,我们常常只要有具有相对精度的近似值就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询