Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 在样条曲线上创建圆_Matlab_Spline - Fatal编程技术网

Matlab 在样条曲线上创建圆

Matlab 在样条曲线上创建圆,matlab,spline,Matlab,Spline,我需要一些关于沿整个样条曲线以圆或六边形形式创建元素的信息,如下图所示。你能告诉我如何在我的代码中实现这一点吗 请查找以下有关样条曲线创建的代码 x = -4:4; y = [0 .15 1.12 2.36 2.36 1.46 .49 .06 0]; cs = spline(x,[0 y 0]); xx = linspace(-4,4,101); plot(x,y,'o',xx,ppval(cs,xx),'-'); 如果需要任何附加信息,请告知我,因为您已经知道要绘制圆的位置(x,y]数组)

我需要一些关于沿整个样条曲线以圆或六边形形式创建元素的信息,如下图所示。你能告诉我如何在我的代码中实现这一点吗

请查找以下有关样条曲线创建的代码

x = -4:4;
y = [0 .15 1.12 2.36 2.36 1.46 .49 .06 0];
cs = spline(x,[0 y 0]);
xx = linspace(-4,4,101);
plot(x,y,'o',xx,ppval(cs,xx),'-');

如果需要任何附加信息,请告知我,因为您已经知道要绘制圆的位置(x,y]数组),您可以复制您使用的部分
绘图
代码,但这次使用更大的标记和不同的颜色:

hold on
plot(x,y,'o',xx,ppval(cs,xx),'-');
plot(x,y,'o','MarkerSize',80,'Color','g');
看起来是这样的:

您也可以使用“hexagram”标记(即使用
h
而不是
o
)来获得六边形:

或者,如果您希望每个圆看起来不同或单独控制其属性,也可以绘制一个曲率为
[1 1]
的矩形:

radius = .5; 

for k = 1:numel(x)
centerX = x(k);
centerY = y(k);
rectangle('Position',[centerX - radius, centerY - radius, radius*2, radius*2],...
    'Curvature',[1 1],...
    'EdgeColor','g','FaceColor','none');
end

非常感谢你。。这是非常有用的,我可以绘制八角形以及类似于六边形,如果是的话,我应该使用哪些代码类似于六边形的“h”欢迎!恐怕我不知道如何轻易地画出一个八角形。您可以查看有关线标记以及如何修改线标记的Matlab文档。谢谢。我会检查的。