How can I solve this?
1 次查看(过去 30 天)
显示 更早的评论
clc
clear
syms PL c k
eqn = [PL * exp(-c*exp(-k*0)) == 179323 ; PL * exp(-c*exp(-k*10)) == 203302 ; PL * exp(-c*exp(-k*20)) == 226542]
S = solve(eqn , [PL;c;k] )
S =
struct with fields:
PL: [0×1 sym]
c: [0×1 sym]
k: [0×1 sym]
2 个评论
Muhammad Usman
2022-10-23
the set of equations are non linear in nature that's why you can't use solve to compute the solution
回答(2 个)
Muhammad Usman
2022-10-23
% Solve the system of equations starting at the point [0,0,0].
% PL = x(1); c = x(2); k = x(3);
% Initial guess is [0,0,0], you can change it accordingily
fun = @root2d;
x0 = [0,0,0];
x = fsolve(fun,x0)
function F = root2d(x)
F(1) = x(1) * exp(-x(2)*exp(-x(3)*0)) - 179323;
F(2) = x(1) * exp(-x(2)*exp(-x(3)*10)) - 203302;
F(2) = x(1) * exp(-x(2)*exp(-x(3)*20)) - 226542;
end
2 个评论
Alex Sha
2022-10-24
There are actually numerical solutions like below:
x1: 446505.431672107
x2: 0.912262916225993
x3: 0.0148006249649759
Torsten
2022-10-24
syms PL c k
eqn1 = PL * exp(-c*exp(-k*0)) == 179323;
eqn2 = PL * exp(-c*exp(-k*10)) == 203302;
eqn3 = PL * exp(-c*exp(-k*20)) == 226542;
sPL = solve([eqn1 eqn2],[c,k]);
PLsol = solve(subs(eqn3,[c,k],[sPL.c sPL.k]),PL);
sck = solve([subs(eqn1,PL,PLsol),subs(eqn2,PL,PLsol)],[c,k]);
csol = sck.c;
ksol = sck.k;
vpa(PLsol)
vpa(csol)
vpa(ksol)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Equation Solving 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!