matlab中循环改成矩阵运算的问题之前用多项式拟合得到了系数阵M,现在利用M来计算resultM是一个6*6的系数阵,已知.X是一个1*6的矩阵,已知;Y是一个6*1的矩阵,也是已知的.求resultX=[1,r,r.^2,r.^3,r.^4,r
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 01:43:01
matlab中循环改成矩阵运算的问题之前用多项式拟合得到了系数阵M,现在利用M来计算resultM是一个6*6的系数阵,已知.X是一个1*6的矩阵,已知;Y是一个6*1的矩阵,也是已知的.求resultX=[1,r,r.^2,r.^3,r.^4,r
matlab中循环改成矩阵运算的问题
之前用多项式拟合得到了系数阵M,现在利用M来计算result
M是一个6*6的系数阵,已知.
X是一个1*6的矩阵,已知;Y是一个6*1的矩阵,也是已知的.
求result
X=[1,r,r.^2,r.^3,r.^4,r.^5];
Y=[1,l,l.^2,l.^3,l.^4,l.^5]';
result= X * M * Y;
我现在是循环来求,r和l都是一个数,得到的result也是一个值.但是这样太慢了,想改成矩阵运算
如果r和l都是一个m*n的矩阵,不用循环,怎么计算result?result得到的也是一个m*n的矩阵.
matlab中循环改成矩阵运算的问题之前用多项式拟合得到了系数阵M,现在利用M来计算resultM是一个6*6的系数阵,已知.X是一个1*6的矩阵,已知;Y是一个6*1的矩阵,也是已知的.求resultX=[1,r,r.^2,r.^3,r.^4,r
有点麻烦.我举个简单例子吧
把X*M*Y展开成一个多项式,比如2+r^2+r.*l+l.^2;
然后代码如下:
[m, n] = size(R);
Rc = R(:); Lc = L(:);
Resultc = 2+Rc.^2+Rc.*Lc+Lc.^2;
Result = reshape(Resultc, [m n]);
但是,实际上的式子远比2+r^2+r.*l+l.^2这样复杂,所以这一行会写很长.