首页 > 代码库 > 对任意函数求导的sas模拟
对任意函数求导的sas模拟
*模拟求导 步长一定要比阈值小,才能得出准确的结果;data Derivation (keep=interval slope); * function y = 1/x only concern about x>0; deltaX = 1e-6; *割线变为切线时x1减小的步长; x0 = 2; y0 = 0; %function(y0,x0);*需要求导的点; put y0; slope = 0; *需要求得的斜率,即倒数; interval = 5; *x0与x1的在x轴的间距,也是判定停止求导的变量; x1 = x0 + interval; y1 = 0;%function(y1,x1); *割线另一端的点,辅助求导的点; thershold = 1e-6 - 1e-7;*停止求导的阈值; do until (interval < thershold); interval = interval - deltaX; *更新x0 与x1的间距; x1 = x0 + interval;%function(y1,x1); *更新x1的坐标; slope = (y1-y0) / (x1-x0);*更新斜率,即倒数; output; end;run;/*这里是任意你需要求导的函数, sas使用的是按址更新的策略,所以不需要写返回值*/%macro function(y,x); &y = 1 / &x;%mend;
对任意函数求导的sas模拟
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。