早教吧 育儿知识 作业答案 考试题库 百科 知识分享

如何用MATLAB构造满足某条件的N*(N-1)的列满秩矩阵I(n)=(1,.,1)是个1*n的向量以A表示满足以I(n)*A=0的n*(n-1)的列满秩阵求大神给写个matlab程序,造出A矩阵...

题目详情
如何用MATLAB构造满足某条件的N*(N-1)的列满秩矩阵
I(n)=(1,.,1)是个1*n的向量
以A表示满足 以 I(n)*A=0 的n*(n-1)的列满秩阵
求大神给写个matlab程序,造出A矩阵...
▼优质解答
答案和解析
对于你这题,因为A*I = 0,所以A中向量与I正交.
在知道上做过与这个类似的题:它是要构造出一个正交矩阵,使得第一行与给定向量相同.
程序如下:
n = 3;
a = ones(1, 3);

angle = zeros(size(a));
A = eye(n);
for i = n:-1:3
angle(i) = -atan2(a(i), norm(a(1:i-1)));
end
angle(2) = -atan2(a(2), a(1));

for i = 2:n
R = eye(n);
R([1 i], [1 i]) = [cos(angle(i)) -sin(angle(i)); sin(angle(i)) cos(angle(i))];
A = R*A;
end

A(1,:) = [];
A = A';
a*A