How to assume 'symmatrix' variable as 'real'

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 Comments

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.
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.

Sign in to comment.

 Accepted Answer

Matrix variables do not support assumptions. There does not appear to be any way to do what you would like to do.

2 Comments

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?
I do not work for Mathworks, so that is not something that I can do.

Sign in to comment.

More Answers (0)

Products

Release

R2021a

Community Treasure Hunt

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

Start Hunting!