八度有趣的错误 - 无法定义函数
Posted
技术标签:
【中文标题】八度有趣的错误 - 无法定义函数【英文标题】:Octave funny error - Cannot define function 【发布时间】:2013-11-08 19:01:00 【问题描述】:这是我的代码:
我在 while 或 ifs 之后得到错误,我不知道如何解决它。说这样的话:“显示所有 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
结束功能
【问题讨论】:
【参考方案1】:您是从脚本调用它还是复制和粘贴?如果您正在复制和粘贴,并且在代码中的任何位置都有一个双标签,则两个标签用于自动完成。尝试将该代码放在一个文件中,并从指定文件路径的 Octave 提示符中调用它。如果您想复制和粘贴这样的代码,请使用空格进行缩进。
【讨论】:
我就是这样做的,谢谢你的回答。这就是问题以上是关于八度有趣的错误 - 无法定义函数的主要内容,如果未能解决你的问题,请参考以下文章
AI 神经网络由于反转颜色而导致错误的手写数字预测。八度/ Matlab?