vpa全称是Variable-precision arithmetic,也就是算术精度。一般来说,vpa是专门原来计算symbolic functions and variables的,也就是计算符号的变量和函数的值。
vpa设置精度
当你建立一个sym符号表达式的时候,构建之后一般是不管输入什么值都是一组符号,除了加减乘除(四则运算)。
比如:
普通除法
syms f(x);
f(x)=x/99.0;
f(1)
引用了MATLAB的函数
不能直接求解。
syms f(x);
f(x)=cos(x);
f(1)
利用vpa设置精度
可以求解,同样的还有double,single。但是只有vpa可以设置精度。值得注意的是,这里设的是有效数字的位数。
syms f(x);
f(x)=cos(x);
% f(11)
single(f(11))
double(f(11))
vpa(f(11),3)
用vpa求根
常见的许多编程来说,求根是利用了一些算法比如牛顿法、下山法、泰勒法求方程的解。MATLAB这里可以直接输入方程然后求根,其中就是用的vpa,算法我估计是用的泰勒法。对于下面函数,试求其等于0时的解,我设置结果为有效数字为7位的精度。
y = x 4 − x + 1 y=x^4-x+1 y=x4−x+1
syms x;
y=solve(x^4-x+1,x);
vpa(y,7)
今天的文章matlab vpasolve函数_simulink滤波分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/81992.html