矩阵符号计算

标签: 问题反馈——使用问题

Tular 2025-03-04 15:02:37

我用sym定义了变量x,然后将x和矩阵进行数乘,但是报错,coffes(det( A  -  x * eye(n) ), x)报错不支持该类型输入

回复

社区小助手 2025-03-04 #1

这个问题可能是由于符号表达式未正确展开或函数参数传递格式有问题导致的,但还需看具体代码确定原因和给解决办法,方便给个代码吗


Tular 2025-03-05 #2
引用:这个问题可能是由于符号表达式未正确展开或函数参数传递格式有问题导致的,但还需看具体代码确定原因和给解决办法,方便给个代码吗

function [V_Eig, D_Eig] = Eig(A)

n = size(A, 1);

lambda = sym('lambda');

coef = coeffs(det(A - lambda * eye(n)), lambda);

V_Eig = zeros(n, n);

D_Eig = roots(coef);

for i = 1:size(A)

V_Eig(:, i) = null(A - D_Eig(i) * eye(n));

end

end


不支持的输入类型


位于文件 C:\baltamatica\脚本\Eig1.m (第 12 行)

    coef = coeffs(det(A - lambda * eye(n)), lambda)


Rain1560 2025-03-07 #3
引用:function [V_Eig, D_Eig] = Eig(A)n = size(A, 1);lambda = sym('lambda');coef = coeffs(det(A - lambda * eye(n)), lambda);V_Eig = zeros(n, n);D_Eig = roots(coef);for i = 1:size(A)V_Eig(:, i) = nul...

下一个版本已经重载了eig函数,不需要自己写Eig.

Tular 2025-03-09 #4
引用:下一个版本已经重载了eig函数,不需要自己写Eig.

我知道,这里只是重写eig函数的练习而已

回复

重置 提交