';馅饼';MATLAB中的函数给出;未定义函数';cos'&引用;错误

';馅饼';MATLAB中的函数给出;未定义函数';cos'&引用;错误,matlab,plot,charts,Matlab,Plot,Charts,我编写了一个函数,wins\u plot,用于从文件中读取记分牌,并存储玩家的姓名、播放次数、赢和输。我使用struct存储了所有这些数据。我在文件上循环,将每一行存储在line,textscan中,从line中查找我需要的所有内容,然后在扩展结构数组时迭代I(最初==1)。代码中的一个片段表示我所说的内容: c = textscan(line, '%s %s %d %d %d'); player(i).firstName = c{1}; player(i).lastName = c{

我编写了一个函数,
wins\u plot
,用于从文件中读取记分牌,并存储玩家的姓名、播放次数、赢和输。我使用struct存储了所有这些数据。我在文件上循环,将每一行存储在
line
textscan
中,从
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中,最后使用pie函数表示X中的值

for n=1:(i-1)
    X(n) = player(n).wins;
end
pie(X);
在以下情况下,我会遇到错误:

类型为“int32”的输入参数的未定义函数“cos”

pol2cart(第22行)中的错误x=r*cos(th)

饼图错误(第99行) [xtext,ytext]=pol2cart(θ0+x(i)*pi,1.2)

wins_图(第30行)饼图(X)中出现错误


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

这些数字被读取为
int32
,但是当您调用
pie
时,需要将它们加倍才能进行计算。因此,当您调用
pie
时,尝试将值强制转换为
double
。试试这个

pie(double(X));

@royabousamra MATLAB将所有数字解释为复杂的双精度值(与大多数语言不同),这就是为什么
pie(1)
有效,而
pie(int32(1))
无效的原因。@jodag好的,很高兴知道这一点。谢谢你通知我!我知道很多C语言,所以MATLAB并不是那么难,但是有一些规范和细节我还没有研究/知道。