How to implement numerical solvers

2 ビュー (過去 30 日間)
Kevin Hanekom
Kevin Hanekom 2022 年 1 月 29 日
コメント済み: Image Analyst 2022 年 4 月 19 日
Sorry! It turned out I just needed to focus on it more myself, a little too niche! Thank you all for the help.
  7 件のコメント
Kevin Hanekom
Kevin Hanekom 2022 年 1 月 29 日
Thats anouther source of the confussion I am having when trying to optimize my parameter values, becuase the "max" value is different for every oriention. One way I may be able to solve this is to average the maximum stress, to make that highest stress value you see equal to 1, and then use the same "max" value to show the differing stress per orientation.
Image Analyst
Image Analyst 2022 年 4 月 19 日
@Kevin Hanekom, so did Star's answer below solve it???

サインインしてコメントする。

回答 (1 件)

Star Strider
Star Strider 2022 年 1 月 29 日
The function needs to be changed so that it accepts one vector of parameters (‘b’ here) and produces a scalar value for ‘S’. Just now, it does not, and returns ‘S’ as a matrix:
b = rand(3,1)
b = 3×1
0.4067 0.4213 0.0238
[S] = YieldCriteriaOptimization(b)
S = 3×3
0.0238 -0.0002 0.0002 -0.0002 0.0000 -0.0000 0.0002 -0.0000 0.0000
function [S] = YieldCriteriaOptimization(b)
ZZ = b(1);
psi = b(2);
max = b(3);
Ry = [ cosd(ZZ) 0 sind(ZZ) ; 0 1 0; -sind(ZZ) 0 cosd(ZZ)];
Rz = [cosd(psi) -sind(psi) 0 ; sind(psi) cosd(psi) 0; 0 0 1];
R = Ry*Rz;
SigmaPrime = [[max 0 0];[0 0 0];[0 0 0];]; %unidirectional test applied in x'
S = R\SigmaPrime*R;
end
I have no idea what ‘S’ represents, so I have no idea how to transform it into a scalar. One option might be the calculate its determinant with the det function or its norm with norm, however I have no idea if either of those are even close to being appropriate.
It just somehow magickally needs to be come a scalar.
.

カテゴリ

Help Center および File ExchangeStress and Strain についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by