';馅饼';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并不是那么难,但是有一些规范和细节我还没有研究/知道。