solve an equation by iterration
古いコメントを表示
Hello everyone!
I haven't been using matlab for a while and I struggle on a simple equation.
I need to obtain this result: Sigma = solve( Sigma== Sigma0*(1+k*(Epsilon-Sigma/E))^n; ) All parameters sigma0, k, Epsilon, E and n=0.2; are known. The only reason for witch I need matlab is the fact that sigma (the unknown), is on both side of the equation, and I need a iterative solver.
I though about the ode45 function but I can not find a example that fit's what I want to obtain. if I am not mistaken, I can find the derivative of the function.
dSigma= -n*Sigma0*(1+k*(Epsilon-Sigma/E))^(n-1)*(k/E)
Can someone tell me the few lines required to solve this? Thank you!
回答 (2 件)
Massimo Zanetti
2016 年 10 月 8 日
2 投票
Put Sigma in the other side of the equation by changing it sign, and then use fsolve. https://it.mathworks.com/help/optim/ug/fsolve.html
Brice Thomas
2016 年 10 月 8 日
0 投票
2 件のコメント
John D'Errico
2016 年 10 月 8 日
Please stop adding answers every time you make a comment. This is not an answer. There is a button to make a comment. Use it.
Torsten
2016 年 10 月 11 日
Use
Z=fsolve(@Test1,X0)
instead of
Z=fsolve(Test1(X),X0)
Best wishes
Torsten.
カテゴリ
ヘルプ センター および File Exchange で Mathematics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!