MATLAB 中的'pie'函数给出"undefined function 'cos'"错误



我写了一个函数,wins_plot,从文件中读取记分牌并存储玩家的姓名,比赛次数,胜利和失败。我存储了所有使用结构的那些。我遍历文件,将每一行存储在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(theta0 + x(i(*pi,1.2(;

wins_plot错误(第 30 行(饼图(X(;

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

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

pie(double(X));

最新更新