将inf值的单元格替换为1

pac*_*pac 0 matlab

鉴于以下内容

第1至17列

    0.3108    0.7273       Inf    0.2878   -0.0947    0.1286   -0.3108    0.5634    0.2822    0.2362   -0.2628    0.0960   -0.1675   -0.0934   -0.1710   -0.3077   -0.2726

Columns 18 through 20

   -0.0630   -0.5097    0.1823
Run Code Online (Sandbox Code Playgroud)

如何将inf值替换为1.我知道如何使用循环来完成它,但有没有办法在没有它的情况下完成它?

如果想用另一个名称保存它会怎么样?即数据保持不变data1 =除了inf之外的数据被1替换?

Ric*_*nte 6

使用isinf检测Inf,并将输出用作数组的逻辑索引:

data(isinf(data)) = 1;
Run Code Online (Sandbox Code Playgroud)