楼主: zengyitop
10370 5

[其他] [求助]stata中如何求解方程 [推广有奖]

  • 3关注
  • 5粉丝

已卖:203份资源

副教授

96%

还不是VIP/贵宾

-

威望
0
论坛币
12592 个
通用积分
376.0538
学术水平
16 点
热心指数
19 点
信用等级
12 点
经验
16263 点
帖子
340
精华
0
在线时间
1720 小时
注册时间
2008-4-30
最后登录
2024-1-6

楼主
zengyitop 发表于 2008-10-30 21:00:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
<p>方程如下:</p><p>p=a+b<sub>1</sub>/(1+x)+b<sub>2</sub>/(1+x)<sup>2</sup>+b<sub>3</sub>/(1+x)<sup>3</sup>, 除x为未知外,其他变量已知,如何求解?谢谢</p>

[此贴子已经被作者于2008-10-31 11:28:53编辑过]

<br>eblog
 金钱 +50
 魅力 +20
 经验 +30
 奖励 "good question!" 2008-10-31 16:11:09
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata tata 解方程 question Quest question 如何

回帖推荐

eblog 发表于5楼  查看完整内容

以下是引用sungmoo在2008-11-1 8:54:00的发言:参见一元三次方程求根公式?这个不是重点,比如要求方程:1.47/(1+sqrt(X))+2.56/(1+ln(X))^2+3.19/(1+X)^3-7=0 的解,你的求根公式可能就无用武之地了。但对上面的程序稍加变动即可得出方程的解: X=0.7240698 [此贴子已经被作者于2008-11-2 14:38:07编辑过]

eblog 发表于2楼  查看完整内容

可利用命令nl,编写程序解决之假设要求方程:1.47/(1+X)+2.56/(1+X)^2+3.19/(1+X)^3-7=0  的解,求解步骤如下:*第一步clear allprogram nlfaqsyntax varlist(min=1 max=1) , at(name)tempname X A B Cscalar `X' = `at'[1, 1]scalar `A' = `at'[1, 2]scalar `B' = `at'[1, 3]scalar `C' = `at'[1, 4]tempvar yhgen double `yh' = 1.47/(1+`X')+2.56/(1+`X')^2+3.19/(1+`X')^3-6 in 1replace `yh' = `A'- (1+`X') in 2replace ...

本帖被以下文库推荐

沙发
eblog 发表于 2008-10-31 16:10:00

可利用命令nl,编写程序解决之

假设要求方程:1.47/(1+X)+2.56/(1+X)^2+3.19/(1+X)^3-7=0  的解,求解步骤如下:

*第一步
clear all
program nlfaq
syntax varlist(min=1 max=1) [if], at(name)
tempname X A B C
scalar `X' = `at'[1, 1]
scalar `A' = `at'[1, 2]
scalar `B' = `at'[1, 3]
scalar `C' = `at'[1, 4]
tempvar yh
gen double `yh' = 1.47/(1+`X')+2.56/(1+`X')^2+3.19/(1+`X')^3-6 in 1
replace `yh' = `A'- (1+`X') in 2
replace `yh' = `B'-(1+`X')^2 in 3
replace `yh' = `C'-(1+`X')^3 in 4
replace `varlist' = `yh'
end

*第二步
clear
set obs 4
generate y = 0
replace y = 1 in 1

*最后求解
nl faq @ y, parameters(X A B C) initial(X 1 A 1 B 1 C 1)

计算结果如下所示:
 
(obs = 4)

Iteration 0:  residual SS =  76.58403
Iteration 1:  residual SS =  32.03028
Iteration 2:  residual SS =   .011014
Iteration 3:  residual SS =  1.44e-06
Iteration 4:  residual SS =  2.56e-14
Iteration 5:  residual SS =  4.44e-31

      Source |       SS       df       MS
-------------+------------------------------         Number of obs =         4
       Model |           1     4         .25         R-squared     =    1.0000
    Residual |  4.4373e-31     0           .         Adj R-squared =         .
-------------+------------------------------         Root MSE      =         .
       Total |           1     4         .25         Res. dev.     =  -273.754

------------------------------------------------------------------------------
           y |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
          /X |   .0139472          .        .       .            .           .
          /A |   1.013947          .        .       .            .           .
          /B |   1.028089          .        .       .            .           .
          /C |   1.042428          .        .       .            .           .
------------------------------------------------------------------------------

可以看出,方程的解 X=.0139472

以上方法比较繁杂,权当抛砖引玉,希望有人给出更简便的方法。

 

已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
crystal8832 + 10 + 1 + 1 热心帮助其他会员
liujiafei + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 10  学术水平 + 2  热心指数 + 2  信用等级 + 1   查看全部评分

藤椅
zengyitop 发表于 2008-10-31 18:46:00

回复:(eblog)可利用命令nl,编写程序解决之假设要求...

问题补充:谢谢版主!但是看不懂程序。我要算出来1000家上市公司在上述方程(p,a等已知变量为1*n阶向量)中的每一个x,我应该怎么处理。

板凳
sungmoo 发表于 2008-11-1 08:54:00
参见一元三次方程求根公式?

报纸
eblog 发表于 2008-11-2 14:35:00
以下是引用sungmoo在2008-11-1 8:54:00的发言:
参见一元三次方程求根公式?

这个不是重点,比如要求方程:1.47/(1+sqrt(X))+2.56/(1+ln(X))^2+3.19/(1+X)^3-7=0 的解,你的求根公式可能就无用武之地了。但对上面的程序稍加变动即可得出方程的解: X=0.7240698

[此贴子已经被作者于2008-11-2 14:38:07编辑过]

地板
zengyitop 发表于 2008-12-28 02:45:00
在stata中我不会做了,最后我用matlab解决了上述问题,谢谢版主!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-25 21:58