How can I convert symbolic function into non symbolic function.
16 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi. I am trying to make a GUI algorithm and just realize that syms (from the symbolic toolbox) is not working for the compiler.
Is there any way I can use another command or change function into non-symbolic function?
My function has the following form.
syms A E B
diff_A = diff(exp(-(pre/(exp(A)*exp(E./(k*(273.16+normal_stress)))))^B),A);
A=x(1)
0 commentaires
Réponse acceptée
Star Strider
le 25 Juil 2018
Use the matlabFunction function:
syms A E B pre k normal_stress
diff_A = diff(exp(-(pre/(exp(A)*exp(E./(k*(273.16+normal_stress)))))^B),A);
diff_A_fcn = matlabFunction(diff_A)
to get:
diff_A_fcn =
function_handle with value:
@(A,B,E,k,normal_stress,pre)B.*pre.*exp(-E./(k.*(normal_stress+2.7316e2))).*exp(-A).*exp(-(pre.*exp(-E./(k.*(normal_stress+2.7316e2))).*exp(-A)).^B).*(pre.*exp(-E./(k.*(normal_stress+2.7316e2))).*exp(-A)).^(B-1.0)
2 commentaires
Star Strider
le 26 Juil 2018
As always, my pleasure.
You will find it easier to use as:
diff_A_fcn = @(A,B,E,k,normal_stress,pre) B.*pre.*exp(-E./(k.*(normal_stress+2.7316e2))).*exp(-A).*exp(-(pre.*exp(-E./(k.*(normal_stress+2.7316e2))).*exp(-A)).^B).*(pre.*exp(-E./(k.*(normal_stress+2.7316e2))).*exp(-A)).^(B-1.0);
Plus de réponses (1)
KSSV
le 25 Juil 2018
How about using anonymous function?
diff_A = @(A,B,E) diff([exp(-(pre/(exp(A)*exp(E./(k*(273.16+normal_stress)))))^B),A]);
2 commentaires
Voir également
Catégories
En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!