Error : Constant Operands
    6 次查看(过去 30 天)
  
       显示 更早的评论
    
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 个评论
  Geoff Hayes
      
      
 2022-3-23
				@Jogger - please clarify what you mean by "try to make this fixed point". What line of code leads to the error message?
采纳的回答
更多回答(1 个)
  Andy Bartlett
    
 2022-3-29
        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
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Fixed-Point Designer 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
