如题。
如果已知特征值c,和矩阵A。
即是要用定义法方程A*x=c*x
求出特征向量x
应该如何做啊。
假设A=[4 1; 8 3]
在Matlab里如何用定义法求矩阵的特征向量
答案:2 悬赏:0
解决时间 2021-02-21 23:14
- 提问者网友:她是我的お女人
- 2021-02-21 17:50
最佳答案
- 二级知识专家网友:错过的是遗憾
- 2021-02-21 18:54
用函数eig可以直接求出一个矩阵的特征值和特征向量;按照问题的意思A*x=c*x,有:(cE-A)*x=0,也就是求该方程的一个基础解系,matlab中有一个函数orth可以求出一组标准正交基。至于有没有其他函数,我也不是很清楚,毕竟matlab的函数实在太多了。
全部回答
- 1楼网友:万千宠爱
- 2021-02-21 19:27
这有个我们以前的matlab幂法求特征值和特征响量的程序:
[maxnorm.m]
functiont=maxnorm(a)
%求数列中按模最大的分量
n=length(a);
t=0;
fori=1:n
ifabs(a(i)/max(abs(a)))>=1
t=a(i);
end
end
function[mt,my]=maxtr(a,eps)
%用幂法求矩阵的主特征值和对应的特征向量
n=length(a);
x0=diag(ones(n));
k=1
x=a*x0
whilenorm(x-x0)>eps
k=k+1
q=x;
y=x/maxnorm(x)
x=a*y;
x0=q;
end
mt=maxnorm(x)
my=y
[main1.m]
a=[32;45]
maxtr(a,0.0001)
[invmaxtr.m]
function[mx,mt,my]=invmaxtr(a,eps)
%求矩阵按模最小的特征值和对应的特征向量
n=length(a);
x0=diag(ones(n));
x=inv(a)*x0;
k=0
whilenorm(x-x0)>eps
k=k+1
q=x;
y=x/maxnorm(x)
x=inv(a)*y;
x0=q;
end
mt=1/maxnorm(x)
my=y
[main.m]
a=[32;45]
invmaxtr(a)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯