'馅饼' MATLAB中的函数给出了"未定义的函数' cos'"错误

时间:2018-05-25 20:51:19

标签: matlab plot charts

我编写了一个函数wins_plot,用于从文件中读取记分板并存储玩家的名字,游戏次数,获胜次数和数量。损失。我存储了所有使用struct的东西。我遍历文件,将linetextscan中的每一行存储到line所需的所有内容中,然后在我去的时候迭代i(最初== 1)扩展我的结构数组。代码中的代码片段代表我的意思:

c = textscan(line, '%s %s %d %d %d');

  player(i).firstName = c{1};
  player(i).lastName = c{2};
  player(i).plays = c{3};
  player(i).wins = c{4};
  player(i).losses = c{5};

在扫描并存储了所有文件后,我编写此代码以提取每个玩家的获胜次数并将其存储在X中,然后最终使用饼图函数来表示X中的值

for n=1:(i-1)
    X(n) = player(n).wins;
end
pie(X);

我遇到了错误之墙:

  

未定义的功能' cos'对于' int32'。

类型的输入参数      

pol2cart错误(第22行)x = r。* cos(th);

     

饼图出错(第99行)       [xtext,ytext] = pol2cart(theta0 + x(i)* pi,1.2);

     

wins_plot(第30行)饼(X)中的错误;

我不知道可能出错了什么。任何帮助将不胜感激。请记住,我今天才开始学习MATLAB,所以我对它的了解非常有限(我有R2013a)。提前谢谢!

1 个答案:

答案 0 :(得分:2)

这些数字被读作int32,但是当你调用pie时,它需要它们加倍来进行计算。因此,当您致电pie时,请尝试将值转换为double。试试这个,

pie(double(X));