# How to implement numerical solvers

2 views (last 30 days)
Kevin Hanekom on 29 Jan 2022
Commented: Image Analyst on 19 Apr 2022
Sorry! It turned out I just needed to focus on it more myself, a little too niche! Thank you all for the help.
Image Analyst on 19 Apr 2022
@Kevin Hanekom, so did Star's answer below solve it???

Star Strider on 29 Jan 2022
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.
.

R2021a

### Community Treasure Hunt

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

Start Hunting!