MATLAB中polyval函数用法

这篇具有很好参考价值的文章主要介绍了MATLAB中polyval函数用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

语法

说明

示例

计算几个点处的多项式值

对四次多项式求积分

具有误差估计值的线性回归

使用中心化和缩放改善数值属性


        polyval函数的功能是多项式计算。

语法

y = polyval(p,x)
[y,delta] = polyval(p,x,S)
y = polyval(p,x,[],mu)
[y,delta] = polyval(p,x,S,mu)

说明

        y = polyval(p,x) 计算多项式 p 在 x 的每个点处的值。参数 p 是长度为 n+1 的向量,其元素是 n 次多项式的系数(降幂排序):

polyval,Matlab,matlab,开发语言

        虽然可以为不同目的使用 polyint、polyder 和 polyfit 等函数计算 p 中的多项式系数,但也可以为系数指定任何向量。要以矩阵方式计算多项式,请改用 polyvalm。

        [y,delta] = polyval(p,x,S) 使用 polyfit 生成的可选输出结构体 S 来生成误差估计值。delta 是使用 p(x) 预测 x 处的未来观测值时的标准误差估计值。

        y = polyval(p,x,[],mu) 或 [y,delta] = polyval(p,x,S,mu) 使用 polyfit 生成的可选输出 mu 来中心化和缩放数据。mu(1) 为 mean(x),mu(2) 为 std(x)。使用这些值时,polyval 将 x 的中心置于零值处并缩放为具有单位标准差

polyval,Matlab,matlab,开发语言

        这种中心化和缩放变换可改善多项式的数值属性。

示例

计算几个点处的多项式值

        计算多项式 p(x)=3x^2+2x+1在点 x=5,7,9 处的值。多项式系数可以由向量[3 2 1] 表示。

p = [3 2 1];
x = [5 7 9];
y = polyval(p,x)
y = 1×3

    86   162   262

对四次多项式求积分

        计算定积分

polyval,Matlab,matlab,开发语言

        创建一个向量来表示多项式被积函数 polyval,Matlab,matlab,开发语言项不存在,因此系数为 0。

p = [3 0 -4 10 -25];

        使用 polyint 和等于 0 的积分常量来对多项式求积分。

q = polyint(p)
q = 1×6

    0.6000         0   -1.3333    5.0000  -25.0000         0

        通过在积分范围上计算 q,求解积分的值。

a = -1;
b = 3;
I = diff(polyval(q,[a b]))
I = 49.0667

具有误差估计值的线性回归

        将一个线性模型拟合到一组数据点并绘制结果,其中包含预测区间为 95% 的估计值。

        创建几个由样本数据点 (x,y) 组成的向量。使用 polyfit 对数据进行一次多项式拟合。指定两个输出以返回线性拟合的系数以及误差估计结构体。

x = 1:100; 
y = -0.3*x + 2*randn(1,100); 
[p,S] = polyfit(x,y,1); 

        计算以 p 为系数的一次多项式在 x 中各点处的拟合值。将误差估计结构体指定为第三个输入,以便 polyval 计算标准误差的估计值。标准误差估计值在 delta 中返回。

[y_fit,delta] = polyval(p,x,S);

        绘制原始数据、线性拟合和 95% 预测区间 y±2Δ。

plot(x,y,'bo')
hold on
plot(x,y_fit,'r-')
plot(x,y_fit+2*delta,'m--',x,y_fit-2*delta,'m--')
title('Linear Fit of Data with 95% Prediction Interval')
legend('Data','Linear Fit','95% Prediction Interval')

        如图所示:

polyval,Matlab,matlab,开发语言

使用中心化和缩放改善数值属性

        创建一个由 1750 - 2000 年的人口数据组成的表,并绘制数据点。

year = (1750:25:2000)';
pop = 1e6*[791 856 978 1050 1262 1544 1650 2532 6122 8170 11560]';
T = table(year, pop)
T=11×2 table
    year       pop   
    ____    _________

    1750     7.91e+08
    1775     8.56e+08
    1800     9.78e+08
    1825     1.05e+09
    1850    1.262e+09
    1875    1.544e+09
    1900     1.65e+09
    1925    2.532e+09
    1950    6.122e+09
    1975     8.17e+09
    2000    1.156e+10

plot(year,pop,'o')

如图所示:

polyval,Matlab,matlab,开发语言

        使用带三个输入的 polyfit 拟合一个使用中心化和缩放的 5 次多项式,这将改善问题的数值属性。polyfit 将 year 中的数据以 0 为进行中心化,并缩放为具有标准差 1,这可避免在拟合计算中出现病态的范德蒙矩阵。

[p,~,mu] = polyfit(T.year, T.pop, 5);

        使用带四个输入的 polyval,根据缩放后的年份 (year-mu(1))/mu(2) 计算 p。绘制结果对原始年份的图。

f = polyval(p,year,[],mu);
hold on
plot(year,f)
hold off

        如图所示:

polyval,Matlab,matlab,开发语言

参数说明

p — 多项式系数

        多项式系数,指定为向量。例如,向量 [1 0 1] 表示多项式polyval,Matlab,matlab,开发语言,向量 [3.13 -2.21 5.99] 表示多项式polyval,Matlab,matlab,开发语言

x — 查询点

        查询点,指定为向量。polyval 计算多项式 p 在 x 中的点处的值,并在 y 中返回对应的函数值。

S — 误差估计结构体

        误差估计结构体。此结构体是 [p,S] = polyfit(x,y,n) 的可选输出,可用于获取误差估计值。S 包含以下字段:

字段 描述
R 范德蒙矩阵 x 的 QR 分解的三角因子
df 自由度
normr 残差的范数

        如果 y 中的数据是随机的,则 p 的估计协方差矩阵是 (Rinv*Rinv')*normr^2/df,其中 Rinv 是 R 的逆矩阵。

mu — 中心化值和缩放值

        中心化和缩放值,指定为二元素向量。此向量是 [p,S,mu] = polyfit(x,y,n) 的可选输出,用于改善拟合和计算多项式 p 的数值属性。值 mu(1) 为 mean(x),mu(2) 为 std(x)。这些值用于以单位标准差将 x 中的查询点的中心置于零值处。

        指定 mu 以计算 p 在缩放点 (x - mu(1))/mu(2) 处的值。

y — 函数值

        函数值,以大小与查询点 x 相同的向量形式返回。向量包含在 x 中的每个点处计算多项式 p 所得的结果。

delta — 预测的标准误差

        预测的标准误差,以大小与查询点 x 相同的向量形式返回。通常,区间 y ± Δ 对应于大型样本的未来观测值约 68% 的预测区间,y ± 2Δ 对应于约 95% 的预测区间。

        如果 p 中的系数是 polyfit 计算的最小二乘估计值,polyfit 数据输入中的误差呈独立正态分布,并拥有常量方差,则 y ± Δ 对应于至少 50% 的预测区间。文章来源地址https://www.toymoban.com/news/detail-793336.html

到了这里,关于MATLAB中polyval函数用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB中mse函数用法

    目录 语法 说明 示例 使用 mse 性能函数训练神经网络         mse函数的功能是均方归一化误差性能函数。 提示         要在深度学习中使用均方误差,请使用 regressionLayer,或使用 dlarray 方法 mse。 perf = mse(net,t,y,ew) 采用神经网络 net、目标矩阵或元胞数组 t、输出矩阵

    2024年02月08日
    浏览(43)
  • MATLAB中residue函数用法

    目录 语法 说明 示例 求解具有实根的部分分式展开式 展开具有复数根和同次分子及分母的分式 展开分子次数高于分母次数的分式          residue函数的功能是部分分式展开(部分分式分解)。 [r,p,k] = residue(b,a) 计算以如下形式展开的两个多项式之比的 部分分式展开式

    2024年02月10日
    浏览(34)
  • MATLAB中var函数用法

    目录 语法 说明 示例 矩阵方差 数组方差 指定方差权重向量 指定方差的维度 数组页的方差 排除缺失值的方差 方差和均值         var函数的功能是求取方差。          V = var(A) 返回 A 沿大小大于 1 的第一个数组维度计算的元素的方差。默认情况下,方差按 N-1 实现归一

    2024年04月15日
    浏览(38)
  • MATLAB中movmean函数用法

    目录 语法 说明 示例 向量的中心移动平均值 向量的尾部移动平均值 矩阵的移动平均值 包含缺失值的向量的移动平均值 基于样本点计算移动平均值 仅返回满窗口平均值         movmean函数的功能是对数据进行移动求平均值。 ​         M = movmean(A,k)  返回由局部 k 个

    2024年02月09日
    浏览(37)
  • MATLAB中padarray函数用法

    目录 语法 说明 示例 向二维和三维数组添加填充值         padarray函数的功能是填充数组。 B = padarray(A,padsize) 填充数组 A,每个维度的填充量由 padsize 指定。padarray 函数用值 0 填充数值或逻辑图像,用类别 undefined 填充分类图像。默认情况下,paddarray 在每个维度的第一个

    2024年01月17日
    浏览(46)
  • MATLAB中step函数的用法

    MATLAB中step函数的用法 step函数是MATLAB中的一个重要函数,用于绘制系统的阶跃响应图。它可以帮助工程师和科学家分析和设计控制系统。本文将详细介绍step函数的用法,并提供相应的源代码示例。 step函数的基本用法如下: 其中,sys是一个线性系统模型对象,可以是连续时间

    2024年02月03日
    浏览(47)
  • MATLAB中sort函数的用法大全

    1.sort的基本用法 MATLAB中的sort函数用于对数组进行排序。最基本的用法是: sortedArray = sort(Array); 这会按照升序对数组进行排序。要按降序排序,你可以使用\\\'descend\\\'选项: sortedArray = sort(Array, \\\'descend\\\'); 如果你的数组是多维的,你可以指定你要排序的维度。例如,要按列排序,你

    2024年04月22日
    浏览(42)
  • Matlab中exp(x)函数的用法

    Y=exp(X)为数组X中的每个元素返回指数 e x e^x e x 。对于复数元素z=x+iy,它返回以下复指数 e z = e x ( c o s y + i s i n y ) e^{z}=e^x(cosy+isiny) e z = e x ( cosy + i s in y ) 。 使用expm计算矩阵指数。 计算1的指数,它是欧拉数e。 欧拉恒等式即等式 e i π + 1 = 0 e^{ipi}+1=0 e iπ + 1 = 0 。 计算 e i π

    2024年02月12日
    浏览(38)
  • 图像处理之matlab中imnoise函数用法详解

    一、图像噪声基本概念 噪声在图像上常表现为引起较强视觉效果的孤立像素点或像素块。一般噪声信号与要研究的对象不相关,其以无用的信息形式出现,扰乱图像的可观测信息 。通俗的说即噪声让图像不清楚。 二、常见噪声的分类 1、高斯噪声 高斯噪声是指 其概率密度函

    2024年02月09日
    浏览(50)
  • 图像处理之matlab中fspecial函数用法详解

    一、fspecial()函数基本调用格式 通过在matlab的命令行窗口输入: help fspecial ,可以查看到以下说明: 总结一下fspecial函数有三种语法格式: (1) h=fspecial(type) (2) h=fspecial(type,para) (3) h=fspecial(type,para,sigma) 其中 type用于指定滤波器种类,para用于对具体滤波器种类添加额外的

    2024年02月03日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包