MATLAB matrix using in function
Afficher commentaires plus anciens
I can't use matrix in my functions. Can you help me?
u=symunit;
M=7.75*u.cm
R=2.54*u.m
a_ef=10:10:100
deltap=-7.55*(M^2/R^2)*(1/(0.116+log(R/2.405*a_ef)))
Error using symengine
Invalid operands.
Csym = mupadmex(op,args{1}.s, args{2}.s, varargin{:});
X = privBinaryOp(A, B, 'symobj::mrdivide');
Réponses (2)
Steven Lord
le 16 Nov 2020
Use element-wise division for the operations that will operate on the vector a_ef.
deltap=-7.55*(M^2/R^2)*(1./(0.116+log(R./2.405*a_ef)));
The first division, M^2/R^2, is dividing two scalars so ./ is not required (but it would work.)
2 commentaires
Mehmet SARIARSLAN
le 16 Nov 2020
Steven Lord
le 16 Nov 2020
Modifié(e) : Steven Lord
le 16 Nov 2020
You did not replace / with ./ in the last line. When I do I can run it. If this resolves the problem please delete your flag and accept the answer. Thanks.
u=symunit;
M=7.75*u.cm;
R=2.54*u.m;
a_ef=(10:10:100)*u.mm;
deltap=-7.55*((M^2)/(R^2))*(1./(0.116+log((R)./2.405*a_ef)));
deltap(1)
simplify(deltap(1))
Mehmet SARIARSLAN
le 16 Nov 2020
Catégories
En savoir plus sur Multirate Signal Processing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

