我试图了解这种语言的工作原理,并且遇到2个问题。我有一个在八度中使用平分法的示例(由于某些原因,我无法上传平分法的代码)
首先:if feval(fun,xa)*feval(fun,xb)>0
,它是否检查xa,xb是否大于零?
第二个:xperiod=[xperiod;[xa,xb]];
如果xperiod=1
,xa=2
,xb=3
,xperiod
将会是什么?
答案 0 :(得分:0)
您所要询问的内容如果没有一些基本格式就很难理解。根本不清楚:if feval(fun,xa)*feval(fun,xb)>0
。但是,通常feval
仅在第一种情况下使用输入参数fun
并在第二种情况下使用xa
调用函数xb
。因此feval(fun,xa)*feval(fun,xb)>0
仅计算两个feval,然后将其相乘以检查结果是否为正。为什么不检查Octave而检查xa
,xb
> 0?
xperiod=[xperiod;[xa,xb]];
将引发运行时错误。 xperiod=1
。 xa=2
,xb=3
,因此[xa,xb]
是一个矩阵(1x2):[2,3]。但是;
插入了新行,因此[xperiod;[xa,xb]];
尝试创建具有两行的矩阵,第一行为[1]
,第二行为[2,3]
。这将引发错误,因为每一行和每一列中必须具有相同数量的元素。