SAS搜索变量的值

SAS search for value of variable

我对 SAS 比较陌生,编程经验有限。我需要编写代码来搜索将形成相等性的特定变量的值。例如,我需要找到使以下代数方程成立的 k 的值:

A = B + {[(C - k(B)] / (1+k)} + {[(D - k(E)] / (1+k)^2},等等

在这个等式中,我知道A、B、C、D等的值,需要搜索一个符合等式的k值(贴现率)。

这是我尝试使用的过程模型代码:

proc model data = test noprint;
p = bv0 + ((e1 - (k * bv0)) / (1+k)) + ((e2 - (k * bv1)) / ((1+k)**2)) + ((e3 - (k * bv2)) / ((1+k)**3)) + ((e3 - k *(bv2)) * (1+g)) / (((1+k)**3) * (k - g));
ENDOGENOUS k;
solve k / out = est;
run;

当我 运行 此代码时,我收到以下错误消息:

警告:模型中未定义方程。 (检查是否缺少 VAR 或 ENDOGENOUS 语句。) 错误:以下求解变量未出现在任何要求解的方程中:k

任何人都可以提供任何帮助都很棒!谢谢!

如果 p 应该是方程的名称,请尝试在 p 之前添加 eq. 前缀。如果p是一个变量,右边的表达式应该等于,那么把p换成eq.equation1,把-p放在右边。