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

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 件)

カテゴリ

ヘルプ センター および File ExchangeSymbolic Math Toolbox についてさらに検索

タグ

質問済み:

2017 年 11 月 7 日

コメント済み:

2017 年 11 月 8 日

Community Treasure Hunt

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

Start Hunting!

Translated by