MATLAB matrix using in function

11 vues (au cours des 30 derniers jours)
Mehmet SARIARSLAN
Mehmet SARIARSLAN le 16 Nov 2020
Modifié(e) : Steven Lord le 16 Nov 2020
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{:});
Error in / (line 382)
X = privBinaryOp(A, B, 'symobj::mrdivide');

Réponses (2)

Steven Lord
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
Mehmet SARIARSLAN le 16 Nov 2020
Problem isn't solved.
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)))
Error using symengine
Invalid operands.
Csym = mupadmex(op,args{1}.s, args{2}.s, varargin{:});
Error in / (line 382)
X = privBinaryOp(A, B, 'symobj::mrdivide');
Steven Lord
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)
ans = 
simplify(deltap(1))
ans = 

Connectez-vous pour commenter.


Mehmet SARIARSLAN
Mehmet SARIARSLAN le 16 Nov 2020
All my code
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)))
%plot(deltap,a_ef)
M =
R =
a_ef =
Error using symengine
Invalid operands.
Csym = mupadmex(op,args{1}.s, args{2}.s, varargin{:});
Error in / (line 382)
X = privBinaryOp(A, B, 'symobj::mrdivide');

Community Treasure Hunt

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

Start Hunting!

Translated by