In VideoWriter/close (line 282) In VideoWriter/delete (line 217) In li18 (line 5) 错误使用 * MTIMES (*) 不完全支持整数类。至少一个参数必须为标量。 出错 li18 (line 21) frame(:, :, 1) = frame(:, :, 1) * (double(x) / size(frame, 2));matlab
时间: 2023-11-27 16:53:41 浏览: 141
这个错误提示是因为MATLAB中的MTIMES (*)不支持整数类参数。解决办法是将frame(:, :, 1)转换为浮点型,可以使用double()函数将其转换为浮点型,代码如下:
```
frame(:, :, 1) = double(frame(:, :, 1)) * (double(x) / size(frame, 2));
```
这样就可以避免该错误了。
相关问题
错误使用 * 尝试将 SCRIPT mtimes 作为函数执行: D:\Polyspace\R2020a\toolbox\control\ctrlmodels\@InputOutputModel\mtimes.m 出错 PID (line 2) G = exp(-0.5*s)/(10*s+1); % 系统传递函数
这个错误提示是因为您尝试使用乘号 (*) 来执行脚本文件 "mtimes",但是 MATLAB 认为您在尝试执行一个函数。因为在 MATLAB 中,函数和脚本文件的语法是不同的。
要解决这个问题,您需要检查代码并确保正确地使用了函数和脚本文件。如果您要使用脚本文件,请使用 "run" 命令来执行它。如果您要使用函数,请确保已经正确定义了函数并且使用了正确的函数调用语法。
另外,由于错误提示中提到的文件路径包含 "toolbox\control",所以这个错误可能与控制系统工具箱相关。您可以检查代码中是否有与控制系统工具箱相关的函数或命令,并确保正确使用它们。
matlab+b必须是标量,Matlab:错误使用 * MTIMES (*) 不完全支持整数类。至少一个参数必须为标量...
这个错误通常出现在将一个非标量的整数向量或矩阵与一个标量相乘时。在Matlab中,乘法运算符*只支持标量和矩阵/向量之间的乘法操作,不支持矩阵/向量之间的乘法操作。
解决这个问题的方法是将非标量的整数向量或矩阵转换成标量,例如使用sum函数对向量或矩阵进行求和,或者使用dot函数对向量进行点积运算。这样可以将向量或矩阵转换为标量,再与另一个标量相乘。
例如,假设a是一个非标量的整数向量,b是一个标量,我们可以将a转换为标量,然后与b相乘:
```
c = sum(a) * b;
```
同样,如果a是一个非标量的整数矩阵,我们可以将a转换为标量,然后与b相乘:
```
c = sum(sum(a)) * b;
```
注意,在将非标量的整数向量或矩阵转换为标量时,需要确保其维度与要求的一致。
阅读全文