Error : Constant Operands
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Life is Wonderful
el 23 de Mzo. de 2022
Editada: Life is Wonderful
el 31 de Mzo. de 2022
Hi
Iam implementing following code as show below
m = 10;
v = [1 1 2 : m]
If I try to make fixed point , I am getting the error "Operands must be constants." I don't understand what is expected here. Can someone help me ?
Thank you
2 comentarios
Geoff Hayes
el 23 de Mzo. de 2022
@Jogger - please clarify what you mean by "try to make this fixed point". What line of code leads to the error message?
Respuesta aceptada
David Hill
el 25 de Mzo. de 2022
Does changing to double work? I don't have the toolbox
v = [1 1 2 : double(m)]
Más respuestas (1)
Andy Bartlett
el 29 de Mzo. de 2022
I'm puzzled by the error you described "Operands must be constants.".
When I attempt to reproduce the issue, I don't observe any problem.
I created this simple function.
function y = makeVec(m)
y = [1 1 2 : m];
end
When I test this with double or fixed-point inputs
u1 = 10;
u2 = fi(10);
y1 = makeVec(u1)
y2 = makeVec(u2)
the outputs are as expected.
y1 =
1 1 2 3 4 5 6 7 8 9 10
y2 =
1 1 2 3 4 5 6 7 8 9 10
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 0
Code generation can provide additional restrictions, so I tried that too.
codegen makeVec -args {u1} -o makeVec1_mex
codegen makeVec -args {u2} -o makeVec2_mex
y1m = makeVec1_mex(u1)
y2m = makeVec2_mex(u2)
Again, the outputs were as expected.
y1m =
1 1 2 3 4 5 6 7 8 9 10
y2m =
1 1 2 3 4 5 6 7 8 9 10
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 0
If you could clarify the original reproduction steps, that would be appreciated.
Andy
1 comentario
Ver también
Categorías
Más información sobre Fixed Point en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!