我试图将来自radialspeed(来自相控数组工具箱的函数)的值存储到数组中,但是我得到了错误:
Conversion to cell from double is not possible.
Error in modelCar (line 40)
Cell(1,T)= Rspeed;
^^错误消息
Cell = cell(1,12)
for T = 1:11
[POS,v] = step(H,T);
Rspeed = radialspeed(POS,v,[25; 25; 70],[0; 0; 0]);
typecast(Rspeed,'uint16');
Cell(1,T)= Rspeed;
%%Rspeed = Vel.Radspeed(:,T);
disp(Rspeed);
end
^^^我正在使用的代码的摘录。
在循环中连续绘制图形的任何提示的另一个问题,现在绘制功能似乎不起作用
谢谢。
答案 0 :(得分:0)
第一个问题:Cell(1,T)
会返回一个单元格,因此您需要将代码更改为Cell{T}= Rspeed;
。
第二个问题:如果速度不是主要问题,则回忆plot
是一种可能的解决方案。
答案 1 :(得分:0)
您不应将Cell
用作变量,因为cell
是MATLAB中的保留关键字。虽然使用Cell
不会造成任何问题,但是一个简单的输入错误会给代码注入错误。您可以使用myCell, R_cell
等。
通过编写Cell(1,T)= Rspeed
,您尝试将Rspeed
类型double
分配给cell
数据类型。您应该写Cell{1,T}=Rspeed
或Cell{T}=Rspeed
。您还可以按如下方式显示每次迭代的输出:
将disp(Rspeed)
替换为:
hold on;scatter(T,Rspeed,'ro');
pause(0.001);