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
用作图形句柄。