How to assume 'symmatrix' variable as 'real'

10 次查看(过去 30 天)
I have created a few symbolic matrices:
syms x [6 1] matrix;
syms k [3 1] matrix;
syms C [3 6] matrix;
b_x = norm(C*x - k)^2;
I am creating a function and want to differentiate it w.r.t x.
d_b_x = diff(b_x, x);
But this generates complex operators like 'conj' which I don't want. I want to assume that all the matrices in this example contain real entries.
How can I do this? The documentation did not have any such commands.
  2 个评论
Nishanth Rao
Nishanth Rao 2022-7-14
编辑:Nishanth Rao 2022-7-14
My question is how to assume a symmatrix as real. I just used the differentiation as an example of why I require it. Moreover, for bigger matrices the 'syms' makes the expression excessively long and difficult to interpret / use.
Anyways, thanks for your insight.
Nishanth Rao
Nishanth Rao 2022-7-14
编辑:Nishanth Rao 2022-7-14
Please read the question title. I have asked about the variable type 'symmatrix'. The code in your question will create 6x1 vector but of variable type 'sym'. The code in my question will create a 6x1 vector (or matrix, however you see it) of variable type 'symmatrix'.
A lot of matrix calculus becomes easier with 'symmatrix' variable types.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2022-7-14
Matrix variables do not support assumptions. There does not appear to be any way to do what you would like to do.
  2 个评论
Nishanth Rao
Nishanth Rao 2022-7-14
编辑:Nishanth Rao 2022-7-14
Hmm, I see.
Thanks a lot for the response. Would it be too much to ask for, if you can enable assumptions on symbolic matrix variables in future releases?
Walter Roberson
Walter Roberson 2022-7-14
I do not work for Mathworks, so that is not something that I can do.

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by