4.1 FAQ-286 如何定义全局函数,全局变量和常量?

Last Update: 11/27/2024

Contents

可用于 Origin 不同进程中的全局函数

如果想定义一个可用于 Origin 不同进程中的全局函数,请参考此页.

有关函数使用范围的更多信息,请参考此页

可用于 Origin 不同进程中的全局变量和常量

启动Origin时,将读取用户文件文件夹中名为CONST.CNF的文本文件。 如果您有经常在工作中使用的数学常数,则CONST.CNF文件是定义它们的好地方,因为它们在Origin运行时将始终可用。

  1. 如果 Origin 正在运行,请退出程序。
  2. 在文本编辑器(例如 Notepad)中,打开User Files Folder (UFF)中的CONST.CNF 或者 启动新页面并输入以下信息:
  3. const e = 2.718281828459045 //Euler's number
  4. 命名文件为CONST.CNF,保存到你的 User Files Folder (UFF) 中。
  5. 如要检查常量和变量值,运行 Origin,打开 Script Window 并输入常量或变量的名称,再输入 "=" ,然后按 ENTER 键。

用于当前 Origin 进程中的常量和变量

如果想定义用于当前 Origin 进程中的常量和变量,你只需在 Script Window 中定义它们:

  1. 选择菜单 Window: Script Window,打开 Script Window。
  2. 输入要定义的常量或变量赋值,然后在每行末尾按 Enter 键,例如:
    const myconst = 1.234;
    double myvar = 12.34;
    int mynum = 127;

然后,在 Script Window 中任何的后续计算,或者在任何可以执行脚本的地方中,例如 Set Column Values 对话框,都可以访问这些常量和变量。

用于特定的 Origin 项目文件中的常量和变量

如果想定义用于特定的 Origin 项目文件中的常量和变量,你可以在附加到项目的 ProjectEvents.OGS 文件中定义它们:

  1. 选择菜单 View: Code Builder,打开 Code Builder。并在左边的面板中,展开 Project,双击打开 ProjectEvents.ogs
  2. AfterOpenDoc 部分,添加以下代码,然后保存文件,并保存项目文件。
    • @global=1;
    • 定义变量和常量


这些常量和变量将是仅在当前项目可用的局部定义。

以下简易教程介绍了如何在 Origin 项目级别添加用户定义的变量,并使用该变量。

  1. 新建一个项目文件,选择菜单 View: Code Builder,打开 Code Builder
  2. 在左边的面板中,展开 Project,双击打开 ProjectEvents.ogs。默认情况下,此文件存在于任何新项目中。
  3. [AfterOpenDoc] 部分下, 添加以下代码行:
    @global=1;
    double myconst = 20;
  4. 保存文件并关闭 Code Builder.
  5. 在 Origin 中,将项目文件保存到所需的文件夹位置 .OGS 文件随项目文件一起保存,因此用户定义的变量可在此项目中使用。
  6. 再次打开刚刚保存的项目。 这将触发执行 [AfterOpenDoc] 部分, 因而定义 myconst。
  7. 点击选中工作表,并导入文件 Samples\Signal Processing\fftfilter1.DAT.
  8. 在工作表中再添加一个新列。
  9. 单击选中第3列的标题,然后单击右键,并选择 Set Column Values...
  10. 在打开的 Set Values 对话框中, 在编辑框中输入以下内容:
    wcol(2)*myconst
  11. 此时再次保存项目,再将其重新打开。在 Origin 菜单中选择 Window: Script Window
  12. Script Window 输入以下脚本,按 Enter 键以更改 myconst 的值,并触发重新计算。
    myconst = 30;; //changes myconst value in this session only. Not saved in project
    run -auf 2 1; //trigger recalculation
  13. 有关 run -auf 命令更多的细节,请参考此页

用于特定工作表的变量

如果你需要定义一些用于特定工作表的变量,并且其他列中的计算结果也会随此变量的改变而更新,请按照下列步骤:

  1. 在当前工作表或新工作表中添加一些列,并将变量名称放在第一列中,将变量值放在第二列中。 这些名称纯粹是提供参考。
  2. 当使用 Set Values 对话框计算其他列的值时,你可以使用 Before Formula Script 面板,通过脚本指向变量列的指定单元格,以此来定义局部变量,然后在上面板的列公式中使用这些变量。如果将重新计算模式设置为 AutoManual,那么当你改变变量值的时候,被计算值将会自动重新计算。想了解更多信息,请参考 Set Values 对话框的帮助页面

拟合函数中的常量

Fitting Function Builder 向导的 Variables and Parameters 页面中,提供了一个用于定义常量的编辑框。然后,在定义函数主体和参数的页面中的 Constants 选项卡下,可以指定常量值。

想了解更多信息,请参考 变量范围的介绍



Keywords:variable, define variable, constants, functions, global variable, @glob, @global, project variable, ORGSYS.CNF, Set Values, Before Formula Script, ProjectEvents.OGS, Script Window,变量,定义变量,常量,函数,全局变量,项目变量,设置值,执行公式前运行脚本,脚本窗口