Matlab绘图-无法将double转换为句柄

Matlab绘图-无法将double转换为句柄,matlab,plot,Matlab,Plot,在我正在使用的脚本中,我需要为xx和deg的不同值估计函数f(xx,deg)(下面的代码)。运行代码时,出现以下错误:无法将双精度值202.893转换为句柄。我查过了,但解释不太清楚。你对如何解决这个问题有什么建议吗 下面是与此问题相关的一段代码: g = figure; xlabel('Omega'); ylabel('Y'); plot(Angle, Y, '*'); hold on; for xx = 1:number_centers for deg = 1:180

在我正在使用的脚本中,我需要为
xx
deg
的不同值估计函数
f(xx,deg)
(下面的代码)。运行代码时,出现以下错误:
无法将双精度值202.893转换为句柄
。我查过了,但解释不太清楚。你对如何解决这个问题有什么建议吗

下面是与此问题相关的一段代码:

g = figure; xlabel('Omega'); ylabel('Y');
plot(Angle, Y, '*'); hold on;
for xx = 1:number_centers
    for deg = 1:180
          f(xx, deg) = double((R_fit(xx)*sind(alpha_fit(xx)+deg)/0.05)+113);
    end
    plot(1:180, f(xx,:), '.');
end

我按照@Epyros的建议解决了这个问题:我所要做的就是在两个for循环之前定义
f
。这样,最终的代码是

g = figure; xlabel('Omega'); ylabel('Y');
    plot(Angle, Y, '*'); hold on;
    f = zeros(number_centers, 180);
    for xx = 1:number_centers
        for deg = 1:180
            f(xx, deg) = double((R_fit(xx)*sind(alpha_fit(xx)+deg)/0.05)+113);
        end
    plot(1:180, f(xx,:), '.');
    end

你在
f(xx,deg)
之前定义过
f
吗?因为你没有告诉我们你所有的变量是什么(类,大小),我们无法用你给我们的复制问题(但是@Eypros可能在正确的轨道上)。尝试在命令行上使用
whos
(例如
whos f
)。放置调试点,逐行运行脚本,并告诉我们哪一行生成错误。在循环之前:您可以考虑变量<代码> f>代码>:代码> f=0(编号为180,中心);代码>预分配通常是最佳实践,但请注意,要将其作为解决方案,很可能以前将
f
用作图形句柄。