全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1345 0
2016-05-17
小弟正在做數值分析,需要跑非線性聯立方程式,方程如下:

θ m/p=σβ x/(1+μ)+(1-σ)θβ m/p  1/(1+μ)                                       (1)        
                                       
h=[A/((1-α) k_c^( α) (μ m/p) )  x/θ]^(-1/α)                                  (2)

1/(1-α) q^(1/(1-α)) k_d^(-α/(1-α)) (μ m/p)^(-η/(1-α))=θ m/p  1/x          (3)

1=β(1-δ_d )+σαβ m/p  1/k_d                                                   (4)

θ=β α k_c^( α-1)  h^(1-α)  (μ m/p)^η+(1-δ_c )β                                 (5)

k_c+k_d=k_c^α  h^(1-α) (m/p  μ)^η+(1-δ_c ) k_c+(1-δ_d ) k_d-x                  (6)

m/p  1/(k_c^( α) h^(1-α) (μ m/p)+σ m/p)=0.16                                 (7)

有七條方程式要解六個變數,

小弟的寫法如下

syms A rm x k_c k_d q
alpha=0.3
phi=0.3
beta=0.952
delta=0.025
sigma=0.3
mu=0.04
theta=0.941
h=0.33
eta=0.25
eq_x=theta*rm-sigma*beta*(x/(1+mu))-(1-sigma)*beta*beta*rm*(1/(1+mu))
eq_h=(A*x/((1-alpha)*k_c^alpha*(mu*rm)*theta))^(-1/alpha)-h
eq_q=theta*(rm/x)-((1/1-alpha)*q^(1/(1-alpha))*k_d^(-alpha/(1-alpha)*(mu*rm)^(-eta/(1-alpha))))
eq_rm=beta*(1-delta)+sigma*alpha*beta*rm*(1/k_d)-1
eq_kc=beta*alpha*k_c^(alpha-1)*h^(1-alpha)*(mu*rm)^eta+(1-delta*beta)-theta
eq_kd=k_c^alpha*h^(1-alpha)*(mu*rm)^eta+(1-delta)*k_c+(1-delta)-x-k_c-k_d
eq_theta=rm/(k_c^alpha*h^(1-alpha)*(mu*rm)^eta+sigma*rm)-0.16
[x,h,q,rm,kc,kd=fsolve(eq_x,eq_h,eq_q,eq_rm,eq_kc,eq_kd,eq_theta)

最後出現這結果
Error using fsolve
Too many output arguments.

Error in mat7 (line 18)
[x,h,q,rm,kc,kd,theta]=fsolve(eq_x,eq_h,eq_q,eq_rm,eq_kc,eq_kd,eq_theta)

請熟悉matlab的高手大大看一下那兒出錯指點嗎?謝謝。


二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群