error using matlabFunction : 'Error: argument must be of type 'Type:arithmetical' [cos]
显示 更早的评论
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 个评论
Kyle Stanhouse
2011-8-10
Walter Roberson
2011-8-10
f = matlabFunction(M_c,'file','cluster_mass_eval','vars',{'theta', 'beta', 'p', 'q'})
Kyle Stanhouse
2011-8-10
采纳的回答
更多回答(1 个)
Walter Roberson
2011-8-11
0 个投票
Do not use eval() on a symbolic value to try to substitute specific values for variables. Instead, use subs(), possibly followed by double()
类别
在 帮助中心 和 File Exchange 中查找有关 Operations on Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!