error using matlabFunction : 'Error: argument must be of type 'Type:arithmetical' [cos]
Ältere Kommentare anzeigen
I am attempting to write a symbolic matrix to a function using 'matlabFunction':
Here is my code, M_c is a 9x9 symbolic matrix: f = matlabFunction(M_c,'file','cluster_mass_eval')
This is the error I get:
??? Error using ==> mupadengine.mupadengine>mupadengine.feval at 162 Error: argument must be of type 'Type::Arithmetical' [cos]
Error in ==> sym.matlabFunction>optimize at 392 list = feval(symengine,'mlOptimizeWithIntermediates',f);
Error in ==> sym.matlabFunction>writeMATLAB at 367 [f,temps] = optimize(f);
Error in ==> sym.matlabFunction at 117 g = writeMATLAB(funs,file,varnames,outputs,body);
Is this saying that I can't have trigonometric functions of symbolic variables?
I am searching for the best way to be able to evaluate this symbolic matrix in a loop so if 'matlabFunction' isn't the best thing to use i welcome other suggestions.
Thanks, kyle
3 Kommentare
Kyle Stanhouse
am 10 Aug. 2011
Walter Roberson
am 10 Aug. 2011
f = matlabFunction(M_c,'file','cluster_mass_eval','vars',{'theta', 'beta', 'p', 'q'})
Kyle Stanhouse
am 10 Aug. 2011
Akzeptierte Antwort
Weitere Antworten (1)
Walter Roberson
am 11 Aug. 2011
0 Stimmen
Do not use eval() on a symbolic value to try to substitute specific values for variables. Instead, use subs(), possibly followed by double()
1 Kommentar
Kyle Stanhouse
am 12 Aug. 2011
Kategorien
Mehr zu Operations on Strings finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!