matlab循环语句问题for i=1:0.01:10A=[0 1 1 0 1 0 0 0 0 0;1 0 1 0 0 0 0 0 0 0;0 0 0 0 1 0 0 0 0 0;0 1 0 0 0 0 0 0 0 0;0 0 0 0 0 1 1 0 i 0;0 0 1 0 0 0 0 0 i 1;0 0 0 0 0 0 0 0 0 1;0 0 0 1 0 0 0 0 1 0;0 0 0 0 i i 0 0 0 1;0 0 0 0 1 0 1 0 1 0];y(:,100
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/19 20:40:53
matlab循环语句问题for i=1:0.01:10A=[0 1 1 0 1 0 0 0 0 0;1 0 1 0 0 0 0 0 0 0;0 0 0 0 1 0 0 0 0 0;0 1 0 0 0 0 0 0 0 0;0 0 0 0 0 1 1 0 i 0;0 0 1 0 0 0 0 0 i 1;0 0 0 0 0 0 0 0 0 1;0 0 0 1 0 0 0 0 1 0;0 0 0 0 i i 0 0 0 1;0 0 0 0 1 0 1 0 1 0];y(:,100
matlab循环语句问题
for i=1:0.01:10
A=[0 1 1 0 1 0 0 0 0 0;
1 0 1 0 0 0 0 0 0 0;
0 0 0 0 1 0 0 0 0 0;
0 1 0 0 0 0 0 0 0 0;
0 0 0 0 0 1 1 0 i 0;
0 0 1 0 0 0 0 0 i 1;
0 0 0 0 0 0 0 0 0 1;
0 0 0 1 0 0 0 0 1 0;
0 0 0 0 i i 0 0 0 1;
0 0 0 0 1 0 1 0 1 0];
y(:,100*i-99)=eig(A);
z=y(3,:);
end
A是一个10X10的矩阵,里面有一个变量i,从1到10以步长为0.01,y是10X901的矩阵,901即i的所有取值可能.现在我想每个i对应的A给出一个特征值到y里,但是实际运行的时候i只从1走到1.09就不走了,后面的结果全是0..我不知道为什么
matlab循环语句问题for i=1:0.01:10A=[0 1 1 0 1 0 0 0 0 0;1 0 1 0 0 0 0 0 0 0;0 0 0 0 1 0 0 0 0 0;0 1 0 0 0 0 0 0 0 0;0 0 0 0 0 1 1 0 i 0;0 0 1 0 0 0 0 0 i 1;0 0 0 0 0 0 0 0 0 1;0 0 0 1 0 0 0 0 1 0;0 0 0 0 i i 0 0 0 1;0 0 0 0 1 0 1 0 1 0];y(:,100
y = zeros(10, 901); % 先初始化, 提高程序运行效率
for i = 1 : 0.01 : 10
A =[ 0 1 1 0 1 0 0 0 0 0;
1 0 1 0 0 0 0 0 0 0;
0 0 0 0 1 0 0 0 0 0;
0 1 0 0 0 0 0 0 0 0;
0 0 0 0 0 1 1 0 i 0;
0 0 1 0 0 0 0 0 i 1;
0 0 0 0 0 0 0 0 0 1;
0 0 0 1 0 0 0 0 1 0;
0 0 0 0 i i 0 0 0 1;
0 0 0 0 1 0 1 0 1 0 ];
y(:, round(100*i-99)) = eig(A); % i是浮点数, 由于数据精度影响在此行可能会出错,
% 加round取整后就可以了
z = y(3,:);
end