how to substitute symbolic variables
14 次查看(过去 30 天)
显示 更早的评论
hello ,
i want to substitute sin(theta) with theta and cos(theta) with 1 ,
the expression is like
dte1= (Ks*(474.0*te1 - 374.0*te2))/100 - 1.0*L*p*sin(te1) - 1.3*L*p*sin(1.3*te1 - 1.2*te2) - 0.3*L*p*sin(0.3*te1)
I tried "subs" function but it is replacing only the specified variable , i want to replace it like this :
for example : in the above equation i want to replace
sin(1.3*te1 - 1.2*te2) → (1.3*te1 - 1.2*te2)
sin(0.3*te1) → (0.3*te1)
summary : replace sin(theta) with theta , theta can be any symbolic variable
0 个评论
采纳的回答
Ameer Hamza
2020-4-14
编辑:Ameer Hamza
2020-4-14
First convert to string. Remove sin and convert back to symbolic expression
syms K2 te1 te2 L p Ks
dte1 = (Ks*(474.0*te1 - 374.0*te2))/100 - 1.0*L*p*sin(te1) - 1.3*L*p*sin(1.3*te1 - 1.2*te2) - 0.3*L*p*sin(0.3*te1);
det1_str = string(dte1);
det1_str = strrep(det1_str, 'sin', '');
dte1 = str2sym(det1_str);
8 个评论
更多回答(1 个)
Walter Roberson
2020-4-15
mapSymType(mapSymType(dte11, 'sin', @(x) children(x)), 'cos', 1)
There might be a way to do both in one call
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!