Effacer les filtres
Effacer les filtres

Using matlabFunction to run solve() in a deployed app

19 vues (au cours des 30 derniers jours)
Mahdi Hayati
Mahdi Hayati le 27 Août 2023
Réponse apportée : Ayush Singh le 10 Juil 2024 à 7:13
Hi. I'm trying to use matlabFunction to run solve() statements, so the app will be deployed fine. I have this example code:
if ~isdeployed()
syms x
eq = solve(x + 5 == 8, x);
fun = matlabFunction(eq, 'File', 'SolveTest.m');
clear x eq fun
else
fun = @SolveTest;
end
app.EditField.Value = SolveTest;
it works fine inside appdesigner, but when I try to deploy it by 'deploytool', I get this error:
Warning: In "test.mlapp", "syms" are excluded from packaging for the MATLAB Runtime environment according to the MATLAB Compiler license. Either remove the file or function from your code, or use the MATLAB function "isdeployed" to ensure the function is not invoked in the deployed component.
how can it be fixed?
I'm using R2022b.

Réponses (1)

Ayush Singh
Ayush Singh le 10 Juil 2024 à 7:13
Hey Mahdi!
The approach you are taking is correct in using `isdeployed` to differentiate between development and deployment environments. However, you need to ensure that the symbolic operations and the creation of the function file happen only in the development environment.
You can try the modified version of your code, ensuring that symbolic operations and function file generation are only executed in the development environment:
if ~isdeployed()
% Symbolic operations and function file generation
syms x
eq = solve(x + 5 == 8, x);
matlabFunction(eq, 'File', 'SolveTest.m'); % Create the function file
clear x eq
end
% Load the generated function
fun = @SolveTest;
app.EditField.Value = fun();
Ensure that the Generated Function File is Included in the Deployment:
- Make sure that the generated function file 'SolveTest.m' is included in the files to be deployed. You can do this in the deploytool by manually adding 'SolveTest.m' to the list of files to be packaged.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by