clc,close,clear;
format long
n = 0;m = 0;z = 0;
r = -5 + (5+5)*rand(1,10);%随机生成一个(1,10)范围是-5,5的行向量
R = roots(r);%求生成多项式的根
P = poly2str(r,'x');%将向量转化为多项式
for i = 1:size(R,1)%循环判断正负个数
if R(i) > 0
n = n+1;
elseif R(i) == 0
z = z+1;
else
m = m+1;
end
end
fprintf('生成的多项式为%s\n其根组成的向量正数有%d个,负数有%d个,0有%d个\n',P,n,m,z)
实验效果
随机生成俩个三维向量a,b,计算a · b和a × b
实验代码
clc,close,clear;
A = -10+randi([0 20],1,3);
B = -10+randi([0 20],1,3);
p1 = dot(A,B);%计算点积
p2 = cross(A,B);%计算叉积
fprintf('生成的A向量为[%s]\n生成的B向量为[%s]\nA*B= %s\nAXB=[%s]\n',num2str(A),num2str(B),num2str(p1),num2str(p2))
实验效果
随机生成一个矩阵A ∈ R2×5 ,计算ATA
实验代码
clc;close;clear;
A = -20 + (20+20)*rand(2,3);
AT = A';
ATA = AT*A;
A ,AT, ATA
实验效果
随机生成一个矩阵A ∈ R3×3 ,求其det(A)和其特征值,计算ATA的逆
实验代码
clc;close;clear;
A = -10 + (10+10)*rand(3,3);
detA = det(A);
eigA = eig(A);
invATA = inv(A'*A);
A,detA,eigA,invATA
实验效果
使用符号运算功能推导如下的线性代数方程组的解。
实验代码
clc;close;clear;
syms a b c d d1 d2;
A = [a,b;c,d];
B = [d1;d2];
p = mldivide(A,B);
x = p(1)
y = p(2)