使用rref时出错:“未定义函数用于'cell'类型的输入参数。”

时间:2015-08-30 14:27:31

标签: matlab math

输入:

rref(B)

Undefined function 'isfinite' for input arguments of type 'cell'.

Error in rat (line 58)
    tol = 1.e-6*norm(X(isfinite(X)),1);

Error in rref (line 27)
[num, den] = rat(A);

然后当我尝试运行rref(B)时,它给了我这个:

-(void) test_method
{
 NSTimer* t=[NSTimer ScheduledTimerWithTimeInterval:2
 target:self  selector;@selector(exec_method) userinfo:nil repeats:YES];
}

有什么线索?

1 个答案:

答案 0 :(得分:3)

rref的输入必须是数字数组。在MATLAB中,square brackets are used to create regular matrices,而curly brackets are used for cells

因此,以下工作正常:

B = [0 1 1 1 1; 0 -1 -1 1 1; 0 1 1 -1 2];
rref(B)   
ans =

     0     1     1     0     0
     0     0     0     1     0
     0     0     0     0     1

如果从另一个函数获取B变量,作为单元格,您可以使用cell2mat将其转换为常规矩阵,并将其用作输入,如下所示:

rref(cell2mat(B))