数学建模社区-数学中国

标题: EXCLE导入到MATLAB中的NAN如何变成INF? [打印本页]

作者: 慢跑20    时间: 2013-7-28 11:41
标题: 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.

>>
请问如何解决呢?
作者: madio    时间: 2013-7-28 17:44
给你改了一下
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。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5