一、背景
在使用matlab的scatter函数画图时报错“数组索引必须为正整数或逻辑值”。
scatter函数说明:scatter(x,y) 在向量 x 和 y 指定的位置创建一个包含圆形标记的散点图。
二、解决办法
如果使用scatter函数时报上述错误,尝试将连续函数先转换为函数句柄,即可解决:
1、错误案例:
假设我的函数为:second_derivative_1
使用scatter画图:
scatter( 0, second_derivative_1(0) , 100, ‘filled’, ‘linewidth’, 3, ‘markerfacecolor’, ‘y’, ‘markeredgecolor’, ‘k’ );
则报错:数组索引必须为正整数或逻辑值
2、正确操作:
首先将解转换为函数句柄
ySol1 = matlabFunction(second_derivative_1);
再使用scatter函数:
scatter( 0, ySol1(0) , 100, ‘filled’, ‘linewidth’, 3, ‘markerfacecolor’, ‘y’, ‘markeredgecolor’, ‘k’ );
完美解决,出现了我需要的在特殊位置的圆形标记。