Matlab 图 - 无法将双精度转换为句柄
Matlab plot - cannot convert double to a handle
在我正在使用的脚本中,我需要针对 xx
和 deg
的不同值估计函数 f(xx, deg)
的值(下面的代码)。当我 运行 代码时,出现以下错误:Cannot convert double value 202.893 to a handle
。我检查了 Matworks website 但解释不是很清楚。您对如何解决这个问题有什么建议吗?
这是与问题相关的代码片段:
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
在我正在使用的脚本中,我需要针对 xx
和 deg
的不同值估计函数 f(xx, deg)
的值(下面的代码)。当我 运行 代码时,出现以下错误:Cannot convert double value 202.893 to a handle
。我检查了 Matworks website 但解释不是很清楚。您对如何解决这个问题有什么建议吗?
这是与问题相关的代码片段:
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