文档帮助中心文档
分段多项式求值
v = ppval (pp、xq)
例子
v= ppval (页,xq)计算分段多项式页在查询点xq.
v= ppval (页,xq)
v
页
xq
全部折叠
创建一个分段多项式,在区间[0,4]中有一个三次多项式,在区间[4,10]中有一个二次多项式,在区间[10,15]中有一个四次多项式。
中断=[041015];coefs=[01-1111;01-253;-161477];pp=mkpp(断裂,COEF)
页=结构体字段:形式:'pp'休息:[0 4 10 15]coefs:[3x5双]件:3订单:5尺寸:1
在区间[0,15]的许多点上计算分段多项式,并绘制结果。在多项式相交的断点处绘制垂直虚线。
xq = 0:0.01:15;情节(xq ppval (pp、xq))线(4 [4],ylim,“线条样式”,“——”,“颜色”,“k”ylim)线(10 [10],“线条样式”,“——”,“颜色”,“k”)
创建并绘制一个分段多项式,其中四个区间在两个二次多项式之间交替。
前两个子图显示了一个二次多项式及其否定移位到区间[-8,-4]和[-4,0]。多项式是
1 - ( x 2 - 1 ) 2 = - x 2 4 + x .
第三个子图显示了一个分段多项式,由这两个二次元在四个区间交替构成。添加垂线来表示多项式的交点。
Subplot (2,2,1) cc = [-1/4 1 0];Pp1 = mkpp([-8 -4],cc);民= 8:0.1:4;情节(民ppval (pp1民),“k-”) subplot(2,2,2) pp2 = mkpp([-4 0],-cc);xx2 = 4:0.1:0;情节(xx2 ppval (xx2 pp2),“k-”次要情节(2,1,2)页= mkpp ([8 4 0 4 8], [cc、cc、cc; cc]);xx = 8:0.1:8;情节(xx ppval (pp、xx),“k-”)持有在…上行([-4-4],ylim,“线条样式”,“——”ylim)线([0 0],“线条样式”,“——”ylim)线(4 [4],“线条样式”,“——”)持有从
分段多项式,指定为一种结构。您可以创建页使用样条,pchip,makima,interp1,或样条线实用程序函数mkpp.
样条
pchip
makima
interp1
mkpp
查询点,指定为向量或数组。xq指定其中的点ppval计算分段多项式。
ppval
数据类型:单|双
单
双
查询点处的分段多项式值,作为向量、矩阵或数组返回。
如果页有(博士d1、…)-值系数(非标量系数值),则:
(博士d1、…)
当xq向量的长度是多少N,v有大小(d1,…,博士,N)和v(:,…,:,j)价值是多少xq (j).
N
(d1,…,博士,N)
v(:,…,:,j)
xq (j)
当xq有大小[N1,…,Ns],v有大小[d1,…,博士,N1,…,Ns)和v(:,……,:, j1,...,js)价值是多少xq (j - 1,…,js).
[N1,…,Ns]
[d1,…,博士,N1,…,Ns)
v(:,……,:, j1,...,js)
xq (j - 1,…,js)
使用注意事项及限制:
输出的大小v与MATLAB不匹配®当下列两种说法都正确时:
输入xx是不是可变长度向量的可变大小数组。
xx
xx在运行时成为行向量。
在这种情况下,代码生成器不会删除单例维。然而,MATLAB可以去掉单维度。
例如,假设xx是一个:4 ×:5数组(第一个维度是可变大小,上限为4,第二个维度是可变大小,上限为5)ppval(pp,0)返回一个2乘3的固定大小数组。v大小为2×3×4×5。在运行时,假设大小(x,1)=1,大小(x,2)=5。在生成的代码中,大小(v)为[2,3,1,5]。在MATLAB中,大小为[2,3,5]。
ppval(pp,0)
背景资料
ThreadPool
这个函数完全支持基于线程的环境。万博1manbetx有关更多信息,请参见在线程环境中运行MATLAB函数.
此函数完全支持GPU阵列。有关更多信息,万博1manbetx请参阅在GPU上运行MATLAB函数(并行计算工具箱).
mkpp|unmkpp|样条|pchip
unmkpp
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系