SAS中文论坛
标题:
关于解方程的问题
[打印本页]
作者:
shiyiming
时间:
2008-7-11 21:07
标题:
关于解方程的问题
想用SAS来解这个方程,怎么解啊,之后数据又在哪里找,非常谢谢各位了。
1 - 1.03653 B**(1) + 0.30175 B**(2)=0
作者:
shiyiming
时间:
2008-7-12 14:15
标题:
Re: 关于解方程的问题
%macro ercif(a,b,c);
%global j1 j2 ;
%if %sysevalf((&b**(2)-4*&a*&c)<0) %then %do;
%put "无解";
%let j1=none;
%let j2=none;
%end;
%if %sysevalf((&b**(2)-4*&a*&c)=0) %then %do;
%put "两个相同解是" %sysevalf(-&b/(2*&a)) ;
%let j1=%sysevalf(-&b/(2*&a));
%let j2=%sysevalf(-&b/(2*&a));
%end;
%if %sysevalf((&b**(2)-4*&a*&c)>0) %then %do;
%let d=%sysevalf((&b**(2)-4*&a*&c)**(0.5));
%put "两个不同解是" %sysevalf((-&b+&d)/(2*&a)) "and" %sysevalf((-&b-&d)/(2*&a));
%let j1=%sysevalf((-&b+&d)/(2*&a));
%let j2=%sysevalf((-&b-&d)/(2*&a));
%end;
%mend;
%ercif(1,2,1);
%put &j1 &j2;
%ercif(1,2,0);
%put &j1 &j2;
%ercif(1,1,1);
%put &j1 &j2;
%ercif(1,10,1);
%put &j1 &j2;
*1 - 1.03653 B**(1) + 0.30175 B**(2)=0;
%ercif(0.30175,- 1.03653,1);
%put &j1 &j2;
如果只是一元二次等式,用上面的宏就可以了。变量的解保留在宏变量里面了,可以用&j1,&j2调用。
上次你问我的时间序列,我也不太熟悉,所以怕误导你。你试一下,它会在log窗口里面读出的。
作者:
shiyiming
时间:
2008-7-13 13:52
标题:
Re: 关于解方程的问题
一元多次多项式可以用这个软件解熟读快而且精度高:matlab,外面卖一张盘,网上随处都可以找到资料,它是解方程多项式,多元一次方程,矩阵,微分方程的有效武器,还可以解一系列函数。sas主要是统计分析等其他方向的。 <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
作者:
shiyiming
时间:
2008-7-13 15:58
标题:
Re: 关于解方程的问题
thanks a lot
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2