我编写了一个函数wins_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中,然后最终使用饼图函数来表示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)。提前谢谢!
答案 0 :(得分:2)
这些数字被读作int32
,但是当你调用pie
时,它需要它们加倍来进行计算。因此,当您致电pie
时,请尝试将值转换为double
。试试这个,
pie(double(X));