matlab求X为多少时,方程有唯一解,无穷解,无解

img


matlab解决


syms lamda

A = [lamda 1 1
     1 lamda 1
     1 1    lamda];
b = [1;lamda;lamda^2];
s = det(A);
lamdas = solve(s);

%% s ~=0 有唯一解
str = ['lamda ~= ' char(lamdas) '有唯一解'];
disp(str)

%% s = 0
for ii = 1:length(lamdas)
    A1 = subs(A,lamda,lamdas(ii));
    b1 = subs(b,lamda,lamdas(ii));
    if rank([A1 b1]) == rank(A1)
        str = ['lamda = ' char(lamdas(ii)) '有无穷多个解'];
    else
        str = ['lamda = ' char(lamdas(ii)) '无解'];
    end
    disp(str)
end

结果:


lamda ~= [-2; 1; 1]有唯一解
lamda = -2无解
lamda = 1有无穷多个解
lamda = 1有无穷多个解