zoukankan      html  css  js  c++  java
  • 对任意可求导函数求导的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; *需要求得的斜率,即倒数(copy的哥们儿记住了是导数);
        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;

     今天看到了一个货抄袭了我的这篇博客,连转载也不说明,鄙视!!!!,还有倒数也copy过去了。。。我就呵呵了

  • 相关阅读:
    winform 异步更新ui
    定时器的写法 winform
    延迟加载
    使用VS分析程序性能
    win7 C/C++,QT安装环境总结
    论文总结
    天舟一号
    硬盘 SMART 检测参数详解[转]
    碧桃花
    在C的头文件中定义的结构体,如何在cpp文件中引用
  • 原文地址:https://www.cnblogs.com/yican/p/4207090.html
Copyright © 2011-2022 走看看