EXCLE导入到MATLAB中的NAN如何变成INF?
我从EXCLE导入了一个 上三角矩阵:A :
1
2 4
3
导入MAT LAB后,变成:
1 Nan nan
nan 2 4
nan nan 3
我想将这个矩阵变成对称矩阵,然后将剩下没有数字的(nan)变成inf(无穷的意思吧)。
我这样设计函数:
for i=1:3
for j = 1:3
if i<j
temp(i,j)=A(i,j);
A(j,i)=temp(i,j);
end
end
end
成功变成对称矩阵,。
最后我想将 NaN变成无穷,
我这样编写:
for i=1:3
for j = 1:3
if i<j
temp(i,j)=A(i,j);
A(j,i)=temp(i,j);
if A(i,j)=NaN;
A(i,j)=inf;
end
end
end
提示这几个错误:
??? if A(i,j)=NaN;
|
Error: The expression to the left of the equals sign is not a valid target for an assignment.
>>
请问如何解决呢? 给你改了一下
for i=1:3;
for j = 1:3
if i<j
temp(i,j)=A(i,j);
A(j,i)=temp(i,j);
end
if isnan(A(i,j))
A(i,j)=inf;
end
end
end
Matlab 判断矩阵出现某个特定元素的命令
1. any(W==x);
判断W中是否出现元素x,如果出现的话,返回值为1,反之为0.
2. find(W==x);
找出W中的与x相等的元素,或是逻辑是否为真。真,返回1,或者反之0。
3. isempty(W);
判断W是否是空。返回值1,或者0.
4. isnan(W);
找出W中的NaN值,在相应位置出现1,否则是0。
页:
[1]