matlab 出错 Warning:Rank deficient,rank = 38,tol = 6.841474e-1
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 11:00:16
matlab 出错 Warning:Rank deficient,rank = 38,tol = 6.841474e-11.
clear
>> x=-200:0.3:200;y=-200:0.1:200;
>> [X,Y]=meshgrid(x,y);
>> Z=X.*Y/sqrt(X.*X+Y.*Y);
Warning:Rank deficient,rank = 38,tol = 6.841474e-11.
这是代码..
这是把数值改小了
x=-100:0.3:100;y=-100:0.1:100;
>> [X,Y]=meshgrid(x,y);
>> Z=X.*Y/sqrt(X.*X+Y.*Y);
Warning:Rank deficient,rank = 35,tol = 1.710369e-11.
又改小了
>> x=-50:0.3:50;y=-50:0.1:50;
>> [X,Y]=meshgrid(x,y);
>> Z=X.*Y/sqrt(X.*X+Y.*Y);
Warning:Rank deficient,rank = 32,tol = 4.283936e-12.
我想知道这是因为数值太大了吗?提错是根据什么提示的...rank和tol都代表了什么
clear
>> x=-200:0.3:200;y=-200:0.1:200;
>> [X,Y]=meshgrid(x,y);
>> Z=X.*Y/sqrt(X.*X+Y.*Y);
Warning:Rank deficient,rank = 38,tol = 6.841474e-11.
这是代码..
这是把数值改小了
x=-100:0.3:100;y=-100:0.1:100;
>> [X,Y]=meshgrid(x,y);
>> Z=X.*Y/sqrt(X.*X+Y.*Y);
Warning:Rank deficient,rank = 35,tol = 1.710369e-11.
又改小了
>> x=-50:0.3:50;y=-50:0.1:50;
>> [X,Y]=meshgrid(x,y);
>> Z=X.*Y/sqrt(X.*X+Y.*Y);
Warning:Rank deficient,rank = 32,tol = 4.283936e-12.
我想知道这是因为数值太大了吗?提错是根据什么提示的...rank和tol都代表了什么
这只是警告,不是报错
实际上是计算矩阵相除的时候,因为计算出现奇异时,发出的警告
rank是矩阵的秩,tol是误差
不过从你的代码看,确实是错了
你的原来意思应该是
Z=X.*Y./sqrt(X.*X+Y.*Y);
|
这里应该有个点
计算的是矩阵对应位置元素的除法运算
因为缺少了一个.所以变成了矩阵除法
这是最常见的错误,在乘、除、乘方中经常会少了一点导致错误
实际上是计算矩阵相除的时候,因为计算出现奇异时,发出的警告
rank是矩阵的秩,tol是误差
不过从你的代码看,确实是错了
你的原来意思应该是
Z=X.*Y./sqrt(X.*X+Y.*Y);
|
这里应该有个点
计算的是矩阵对应位置元素的除法运算
因为缺少了一个.所以变成了矩阵除法
这是最常见的错误,在乘、除、乘方中经常会少了一点导致错误
matlab 出错 Warning:Rank deficient,rank = 38,tol = 6.841474e-1
matlab一直出现Warning:Divide by zero.Warning:Rank deficient,rank
请问此处 warning rank deficient是什么意思,为什么会这样、 matlab
matlab 中 regress函数警告:Warning: X is rank deficient to within
matlab中rank(i,1)=round(mean(find(...)))中的rank(i,
rank(AB)>=rank(A)+rank(B)-n,这是什么意思?
若A^2=E,证明rank(A+E)+rank(A-E)=n
设A是n阶矩阵,证明:rank{A+E}+rank{A-E}>=n.
线性代数证明rank(AT*A)=rank(A)
矩阵As*n,Bn*m,证明rank(AB)>=rank(A)+rank(B)-n
A、B是n阶矩阵,证明:rank(AB)>=rank(A)+rank(B)-n
设A、B分别是s*n,n*m矩阵,证明:rank(ab)=rank(a)+rank(b)-n