急急,关于MATLAB求矩阵的问题
发布网友
发布时间:2024-04-08 21:45
我来回答
共1个回答
热心网友
时间:2024-04-11 20:50
x=rand(1,10);
y=rand(1,10);
z=rand(1,10);
%注意x,y,z是一行十列的行向量,你的如果是列向量,那么转置一下。
%另外多少行没有关系,只要大于等于4行就OK
%如果你的是多行多列的矩阵,那么通过以下转成行向量
%x=x(:)' 就可以转成一行多列的行向量。
A=[x.^2;x;y;ones(size(x))]';
b=z';
const=A\b;
a=const(1);
b=const(2);
c=const(3);
d=const(4);
a,b,c,d
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
例:
说明,我们从己知的a,b,c,d中,根据x,y值,生成一系列的z的值,
然后根据x,y,z看能否计算出a,b,c,d的值。
aa=1;
bb=2;
cc=3;
dd=4;
x=[1,2,3;4,5,6;7,8,9;10,11,12];
y=[1,1,1;2,3,4;1,6,10;3,7,10];
z=aa*x.^2+bb*x+cc*y+dd; %生成z
%注意x,y,z是一行十列的行向量,你的如果是列向量,那么转置一下。
%另外多少行没有关系,只要大于等于4行就OK
%如果你的是多行多列的矩阵,那么通过以下转成行向量
%x=x(:)' 就可以转成一行多列的行向量。
%%以下将矩阵变成行向量
x=x(:)';
y=y(:)';
z=z(:)';
A=[x.^2;x;y;ones(size(x))]';
b=z';
const=A\b;
a=const(1);
b=const(2);
c=const(3);a
d=const(4);
a,b,c,d