Is it possible to create a symbolic matrix whose dimensions are symbolic scalar variables?

1 次查看(过去 30 天)
Is it possible to create a symbolic matrix whose size is denoted by symbolic scalar variables?
Like this
syms x y
syms z [x y]
where x and y are symbolic scalar variables, and I want to create a symbolic matrix z with a size (x, y).

采纳的回答

Walter Roberson
Walter Roberson 2023-7-7
编辑:Walter Roberson 2023-7-7
No, it is not possible in MATLAB. At the MATLAB level, symbolic arrays are plain arrays of objects, and the arrays have definite size at the MATLAB level.
For reasons I have not worked out yet, symmarray are implemented as having a fixed size even though in a sense they are scalar at the MATLAB level.

更多回答(1 个)

Gandham Heamanth
Gandham Heamanth 2023-7-7
Hi Zijun, here is the small code on how you can create a symbollic matrix whose size is denoted by symbolic scalar variables.
syms x y;
x = 4;
y = 5;
z = sym('z', [x y]);
z = 
  1 个评论
Zijun
Zijun 2023-7-7
Thanks, Gandham. But if I don't know the value of x and y a priori? For example, I want to generate a file using matlabFunction:
syms x y
syms z [x y]
matlabFunction(z, 'File', 'function_z.m');
There will be a function defined in the file function_z.m:
z=function_z(x,y)
then each time I call the function, I will pass in two arguments x and y such that the size of z is dynamically dependent on x and y.
Is it possible?

请先登录,再进行评论。

类别

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

标签

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by