Matlab:无法将信息存储到数组中

时间:2014-02-23 03:18:21

标签: arrays matlab loops graph

我试图将来自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

^^^我正在使用的代码的摘录。

在循环中连续绘制图形的任何提示的另一个问题,现在绘制功能似乎不起作用

谢谢。

2 个答案:

答案 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}=RspeedCell{T}=Rspeed。您还可以按如下方式显示每次迭代的输出:

disp(Rspeed)替换为:

hold on;scatter(T,Rspeed,'ro');
pause(0.001);