Differentiation with respect to variable which has been changed to numeric type

2 次查看(过去 30 天)
Hello, consider the given expression. Here x and y are symbolic variables and X and Y are numeric matrices of same size. All other variables are scalars.
RVector = ( (x - X).^2 + (y - Y).^2 + (alpha_C * d_C).^2 ) .^q;
When I execute the the following lines
x = X;
y = Y;
R_0Vector = double((subs(RVector)));
x and y becomes numeric variables. (Right?) Now, after the execution of above lines, how can I differentiate RVector with respect to x and y?

采纳的回答

Walter Roberson
Walter Roberson 2017-11-7
The easiest way is to avoid the problems associated with assigning a new value to a symbolic variable that has been used in other expressions. Do not do the assignments x = X and y = Y. Instead do
R_0Vector = double(subs(Rvector, {x, y}, {X, Y}));
and then x and y will still be symbolic, allowing you to continue on with
diff(Rvector, x)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by