MATLAB中的vpa()函数的使用(附例子和代码)
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,算法我估计是用的泰勒法。对于下面方程,我设置结果为有效数字为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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)