나는 해결하고자하는 3 개의 미지수에 3 개의 방정식을 가지고 있습니다. 방정식을 symbolic toolbox
으로 지정합니다. 나는 solve
함수를 사용하여 matlab에 수치 해결책을 찾도록 요청할 수 있다는 것을 알고있다. 그러나, 3 미지의 3 방정식으로, matlab에 분석 솔루션 (fsolve
)를 찾을 수 있어야합니다. 나는 solve
대신 fsolve
을 사용할 수 있도록 코드를 변경하는 방법을 모르겠습니다. 내 코드 아래Solve에서 Fsolve까지
은 : 한편 모든
syms Kl Kh alpha nu w phi delta P beta zh zl Ezh Ezl
nu1 = (1/(1-nu));
f1 = ((zl * (Kl^alpha))^nu1 + (zh * (Kh^alpha))^nu1) * nu^(nu*nu1) * (w^(-nu*nu1)) - w/phi + delta*(Kl + Kh)*P
f2 = Kh - (((1-beta*(1-delta))*P * (w^(nu1*nu))*(nu^(nu*nu1)))/(beta*alpha* (Ezh)^nu1))^((1-nu)/(alpha+nu-1))
f3 = Kl - (((1-beta*(1-delta))*P * (w^(nu1*nu))*(nu^(nu*nu1)))/(beta*alpha* (Ezl)^nu1))^((1-nu)/(alpha+nu-1))
f1 = subs(f1, {alpha, beta, nu, phi,delta, zh, zl, Ezh, Ezl, P}, {0.27, 0.96, 0.60, 2.15,0.065,1.11687642219068,0.895354204038589,1.07811003137331,0.934120594855956, 0.95})
f2 = subs(f2, {alpha, beta, nu, phi,delta, zh, zl, Ezh, Ezl, P}, {0.27, 0.96, 0.60, 2.15,0.065,1.11687642219068,0.895354204038589,1.07811003137331,0.934120594855956, 0.95})
f3 = subs(f3, {alpha, beta, nu, phi,delta, zh, zl, Ezh, Ezl, P}, {0.27, 0.96, 0.60, 2.15,0.065,1.11687642219068,0.895354204038589,1.07811003137331,0.934120594855956, 0.95})
S = solve([f1 == 0, f2 == 0, f3 == 0],...
[w, Kh, Kl], 'ReturnConditions', true);
'fsolve'은 * 수치 * 솔루션이 아닌 분석 사람을 찾는 데 사용됩니다. 상징적 인 수학 도구 상자에서'solve'는 어떤 경우에는 분석적 해답을 찾을 수 있지만 다른 경우에는 가변적 인 정밀도 수학을 사용하여 숫자를 찾습니다. 숫자 솔루션을 찾으십니까? – horchler
네, 사과드립니다. 나는 수치적인 해결책을 의미했다. – phdstudent