Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.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
Image Matlab中二次多项式曲率的一种度量方法_Image_Matlab_Plot_Polynomials - Fatal编程技术网

Image Matlab中二次多项式曲率的一种度量方法

Image Matlab中二次多项式曲率的一种度量方法,image,matlab,plot,polynomials,Image,Matlab,Plot,Polynomials,我在Matlab中使用以下代码绘制二阶多项式: xx = 1 : 4000; mu = 1.0e+03 * [ 2.0733; 0.6569]; b = 198; P = [2.5577, -1.0134, 102.4344]; figure;imshow(img,'border','tight'); hold on; plot(xx,polyval(P,xx,[],mu)+b,'LineWidth',1.5,'Color','r');

我在Matlab中使用以下代码绘制二阶多项式:

 xx = 1 : 4000;
 mu =    1.0e+03 * [ 2.0733; 0.6569];
 b = 198;   
 P = [2.5577,   -1.0134,  102.4344];

 figure;imshow(img,'border','tight');
            hold on;
 plot(xx,polyval(P,xx,[],mu)+b,'LineWidth',1.5,'Color','r');
其结果如下图所示:

但是如果我把这个数字说出来,;表示“边界”,“紧密”;它显示了以下曲线:

首先,我不知道为什么这两个图不同,哪个是多项式的正确图

其次,我寻找图1所示对象的弯曲度度量,以便能够比较弯曲曲率低或高的两个对象。但是,我不知道如何从多项式公式中提取这样的度量。我试图使用x^2 P2的系数,但我不确定它是否代表了图1中的曲线,因为图2显示了一些不同的东西。

第一部分:如果你指的是曲率符号,你应该注意图像或矩阵中的坐标系以及绘图的坐标系。当我们绘图时,就像在您的绘图中一样,通常左下角对应于x轴和y轴的最小值。然而,在一个例子中,你有这样的东西:

与行和列索引的协调从左上角开始

两条曲线之间的另一个视觉差异是它们的绝对曲率,这是由于轴的限制。如果将轴限制设置为相等,则将看到两条相同弯曲的曲线。为此目的使用和

第二部分:如果要量化应用于系统的负载/压力/重量,则系数x^2的绝对值为a。因此,您可以完全依赖它,并通过向系统施加不同的已知应力来校准它。

第一部分:如果您指的是曲率符号,您应该注意图像或矩阵中的坐标系以及绘图中的坐标系。当我们绘图时,就像在您的绘图中一样,通常左下角对应于x轴和y轴的最小值。然而,在一个例子中,你有这样的东西:

与行和列索引的协调从左上角开始

两条曲线之间的另一个视觉差异是它们的绝对曲率,这是由于轴的限制。如果将轴限制设置为相等,则将看到两条相同弯曲的曲线。为此目的使用和


第二部分:如果要量化应用于系统的负载/压力/重量,则系数x^2的绝对值为a。因此,您可以单独依赖它,并通过向系统施加不同的已知应力来校准它。

曲率半径为1+dy/dx^2^3/2,整个d^2y/dx^2

或者将其放入伪代码中

     /*
         curvature of ax*x + b*x + c, given x
     */
     curvaturequad(a, b, c, x)
     {
        dybydx = 2*a*x + b;  // first derivative
        d2ybydx2 = 2 * a;    // second derivative

        dybydx2 = dybydx*dybybx;
        numerator = sqrt(dybydx2 + 1)*(dybydx +1);
        return numerator / d2ybydx2;
     }

曲率半径为1+dy/dx^2^3/2,整个d^2y/dx^2

或者将其放入伪代码中

     /*
         curvature of ax*x + b*x + c, given x
     */
     curvaturequad(a, b, c, x)
     {
        dybydx = 2*a*x + b;  // first derivative
        d2ybydx2 = 2 * a;    // second derivative

        dybydx2 = dybydx*dybybx;
        numerator = sqrt(dybydx2 + 1)*(dybydx +1);
        return numerator / d2ybydx2;
     }

是的,您可以通过其二阶导数量化对象的弯曲,或等效为x^2系数的2倍。如果你想量化弯曲,看看这些页面:和。如果你想在图像和绘图中看到相同的曲率,请使用。试着在imshow之后的xy轴看看我的意思。@Dev-iL谢谢,它翻转了图像,但仍然有两条曲线不同。我不知道缩放是否与此有关。是的,你可以通过物体的二阶导数,或者等效地,x^2系数的2倍来量化物体的弯曲。如果你想量化弯曲,看看这些页面:和。如果你想在图像和绘图中看到相同的曲率,请使用。试着在imshow之后的xy轴看看我的意思。@Dev-iL谢谢,它翻转了图像,但仍然有两条曲线不同。我不知道缩放是否与此有关。这是什么?如果它是伪代码,那么它就不是MATLAB代码-请这么说-以免混淆潜在的读者。它也没有解决老年退休金问题的第一部分,这是什么?如果它是伪代码,那么它就不是MATLAB代码-请这么说-以免混淆潜在的读者。另外,它也没有解决OPs问题的第一部分。我是Matlab新手,如何设置轴限制?我想确定他们是平等的。mu的角色是什么。无论如何,您没有说如何量化弯曲度。使用和设置轴限制。要了解它的所有参数和输入参数,请查看它。我是Matlab新手,如何设置轴限制?我想确定他们是平等的。mu的角色是什么。无论如何,您没有说如何量化弯曲度。使用和设置轴限制。要了解它的所有特性及其输入参数,请查看它。