Subs with 2 numbers returns a number
3 次查看(过去 30 天)
显示 更早的评论
Subs when given 2 numbers, returns a number. But I need a string/function to be returned
example:
>> syms x y;
>> f=-y+x+2;
>> subs(f, [x,y], [2,2])
ans =
2
>>
But I need it: -2+2+2
0 个评论
回答(2 个)
Star Strider
2021-11-10
It is doing the substitution and the calculation at the same time, and providing the answer.
Using symbolic arguments instead —
syms x y a b
f=-y+x+2;
subs(f, [x,y], [a,b])
as expected.
.
0 个评论
John D'Errico
2021-11-11
Simple enough. Convert the original expression to a string. Now just do string processing, with finds and replace operations.
Can you do it using symbolic computations? Probably not, since subs will combine those numeric constants for you automatically.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!