MATLAB Answers

Error: Unable to convert 'ureal' to 'sym'

5 views (last 30 days)
Jakob Poulsen
Jakob Poulsen on 16 Mar 2021
Commented: Jakob Poulsen on 19 Mar 2021
Hi
I am working with the Robust Control Toolbox and want to pass values of type 'ureal' to a symbolic matrix through a function.
It works fine if I write the matrix in my function manually, e.g.
x = ureal('x',10,"Percentage",20);
my_fun(x)
function A = my_fun(x)
A = [x 1; 1 x]
end
However, I want to load my matrix from a .mat file instead of instead writing it manully, e.g.
syms x
A = [x 1; 1 x];
save('matrix.mat','A')
x = ureal('x',10,"Percentage",20);
my_fun(x)
function A = my_fun(x)
loaded_matrix = load('matrix.mat')
A_symbolic = loaded_matrix.A
A = subs(A_symbolic)
end
This does not work and I get the error "Error: Unable to convert 'ureal' to 'sym".
Is there a workaround for this problem? How do I pass my ureal-type to my function such that I get a numeric matrix?
Hope someone can help me!

Answers (1)

Pranav Verma
Pranav Verma on 19 Mar 2021
Hi Jakob,
Try replacing the last line of the my_fun,
A = subs(A_symbolic)
to,
A = sym(A_symbolic)
Hope this helps.
Thanks
  1 Comment
Jakob Poulsen
Jakob Poulsen on 19 Mar 2021
Hi Pranav,
Thank you for your aswer.
Maybe I formulated my question wrong. I want my output from my_fun(x) to be a numeric umat matrix.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!