根据函数绘制函数

Jan*_*ner 11 matlab plot

我不知道我是否能够完全解释我的需要.但我会试试.

我有弯曲的框架,在这个框架上,我必须绘制力/力矩/压力的图表.框架有9个间隔.现在我伸展框架并在拉伸的零线上绘制图表.

但是如果我想在真实的画面上画出来我该怎么办?

几个例子:

  • 我尝试做这样的事情: 在此输入图像描述

  • 这是真实的框架: 在此输入图像描述

具有影响框架的相应力.

如果我拉伸最终的力/力矩/应力图,它看起来像这样: 在此输入图像描述

我需要这样: 在此输入图像描述

我希望你知道我的意思:-)我不是一个Photoshop人:-)

编辑:在我看来,如果您绘制任何绘图,您可以在零线的函数中绘制它,但如果您将零线更改为不同的功能该怎么办.

这就像绘制2条线并填充它们之间的区域,但只有底线是正常零线的函数,第二条线是第一条线的函数.

  • 我想我们可以从以下几点出发: 在此输入图像描述 这样第二个函数将相应地绘制到第一个函数函数.:-)

欢迎任何想法:-)

Dan*_*sky 2

该图的总体思路如下:

将顶部图中的曲线描述为 y = f(x)。在 matlab 中,您接收到的点集:

x = x0:dx:xf;
y = f(x);
Run Code Online (Sandbox Code Playgroud)

f 应该是外部函数或公式。

比你有零线函数 y2 = g(x2)。第一个问题,您需要将此函数转换为参数形式,如 y2=gy(t)、x2=gx(t)。如果您有这样的参数表示,您可以收到放置在零线曲线上等距离的两个点集:

t=x0:dx:xf;  % same as x above
x2=gx(t);
y2=gy(t);
Run Code Online (Sandbox Code Playgroud)

第二个问题是您需要接收零曲线每个点的法向量。

如果您有直接公式 y2 = g(x2),则可以使用方程:

nx - x2(k) + g'(x2(k))*(ny-y2(k)) = 0

nx^2 + ny^2 = 1

g'表示g的导数;x2(k), y2(k) - 零线曲线点;nx、ny 是每个点的法向量的分量。

让您为上面定义的每个 t 接收两个集合 nx 和 ny。

最后,您将获得力曲线所需的点集:

x=x2+nx;
y=y2+ny;
Run Code Online (Sandbox Code Playgroud)