问题如下:在我的matlab的workshop中有一全局变量p,需要做一个递归函数,希望在函数的递归过程中,动态的改变p值,最后我要得到p值的最终结果。也就是说,我要实现的功能类似于c语言中的引用&。网上的大多问题和例子都只限于在子函数中使用全局变量,而不对其改变。请问有什么办法么?~谢谢大家~
在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function y=global_p(x)global p;p=p+1;y=1;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 返回Matlab输入:global p;p=0;x=0;for i=1:5temp=global_p(x);endp
首先你得明白,MATLAB定义的pi是一个近似数来自MATLAB帮助:The expression sin(pi) is not exactly zero because pi is not exactly .pi returns the floating-point number nearest the value of pi,pi定义为一个浮点数,任何浮点数都会有量化误差,因为pi为无限不循环数,不可能有精确的浮点数