八度有趣的错误 - 无法定义函数

Octave funny error - Cannot define function

本文关键字:错误 函数 定义 八度      更新时间:2023-10-16

这是我的代码:

我在一段时间或如果之后收到错误,我不知道如何解决它。像这样说:"显示所有 3669 种可能性(y 或 n)"并开始显示我未要求:p的无穷无尽的内容列表

我一定错误地定义了函数,但我找不到在哪里。如果你告诉我问题是什么或我应该如何解决它,那将非常有帮助。

R、Rer 和 V 是向量;pc、dg 和 cs 是数字

function [R,Rer] = er_dig(V,pc,dg,cs) 
i=0;
dg_aux=V;
while (abs(rem(dg_aux,1))!=0)
    dg_aux=dg_aux.*10;
    i++;
endwhile
Rer= (V.*dg)./100 + dg.*(10^(-i));

if (Rer<1)
    Rer_aux=Rer;
    k=0;
    while (abs(rem(Rer_aux,1))>0)
        Rer_aux=Rer_aux.*10;
        k++;
    endwhile
    if (Rer_aux>=10)
        k--;
    endif
    j=1;
    while (j<=dim(V))
        validador=(Rer(j)*(10^(k+cs))-fix(Rer(j)*(10^(k+cs-1)))*10);
        if (validador>=2)
            Rer(j) = (fix(Rer(j)*(10^(k+cs-1))) +1)/(10^(k+cs-1));
        elseif
            Rer(j) = (fix(Rer(j)*(10^(k+cs-1))))/(10^(k+cs-1));
        endif
    j++;
    endwhile

    R=V;
    i=1;
    while (i<=dim(V))
        R(i) = fix(R(i)*10^(k+cs-1))/10^(k+cs-1);
        i++;
    endwhile
elseif
    Rer_aux=Rer;
    k=0;
    while(Rer_aux>1)
        Rer_aux=Rer_aux./10;
        k++;
    endwhile

    j=1;
    while(j<=dim(V))
        validador=(Rer(j)*(10^(-k+cs))-fix(Rer(j)*(10^(-k+cs-1)))*10);
        if(validador>=2)
            Rer(j) = (fix(Rer(j)*(10^(-k+cs))) +1)/(10^(-k+cs));
        elseif
            Rer(j) = (fix(Rer(j)*(10^(k+cs))))/(10^(k+cs));
        endif
    j++;
    endwhile

    R=V;
    i=1;
    while(i<=dim(V))
        R(i) = fix(R(i)*10^(-k+cs))/10^(-k+cs);
        i++;
    endwhile
endif

结束函数

您是从脚本中调用它还是复制粘贴?如果要复制和粘贴,并且在代码中的任意位置具有双制表符,则有两个制表符用于自动完成。尝试将该代码放入文件中,并从指定文件路径的 Octave 提示符调用它。如果要复制和粘贴这样的代码,请使用空格进行缩进。