Matlab自学笔记六十一:快速上手解方程

发布于:2025-07-04 ⋅ 阅读:(19) ⋅ 点赞:(0)

1.说明

解方程有两种基本的方法:解析解法和数值解法,前者求取的结果是解析解,后者求取的结果是数值解。

解析解和数值解的区别,还有同学不知道吗,这里再啰嗦一遍:

例如求解二次方程ax²+bx+c=0,众所众知,它的解就是...-b/2a±...根号不好打,懒得写了。看吧,这就是解析解,实际上上大学以前所学的解方程基本都是解析解,虽然参数a,b,c是已知的情况下,可以写出具体的解的数值,但仍然是解析解,因为这个方程首先是可解的。有些方程是不可解的,也就是无法找到解析表达式,后面的文章里会陆续介绍。

本文主要介绍方程的解析解法。

2.认识函数

solve函数使用符号运算方式求解方程,符号数学工具箱的功能。

3.说明

方程式的等号用==表示

字符向量的输入方式不再建议使用

改用首先声明字符变量,再创建方程的方式进行输入

4.符号数学工具箱(Symbolic Math Toolbox

符号数学工具箱引入了一种特殊的数据类型:符号对象(类型)

Matlab使用符号解析式进行处理,而不是数值上的计算

符号计算是精确的,不容易出现舍入误差

可以创建符号数值和变量、符号表达式、符号函数和符号矩阵

可以进行符号变量的代入和计算

5.编程示例演示:

(1)解方程x+1=0

程序:

syms x

eq1=x+1==0

solve(eq1)

运行结果:

eq1 =

x + 1 == 0

ans =

-1

(2)解方程exp(x+2) = 10

syms x

eq2=exp(x+2) == 10

solve(eq2)

运行结果:

eq2 =

exp(x + 2) == 10

ans =

log(10) - 2

(3)解带参数方程a*x^2 + b*x + c = 0

syms x a b c

eq3=a*x^2 + b*x + c == 0

solve(eq3)

运行结果:

eq3 =

a*x^2 + b*x + c == 0

ans =

-(b + (b^2 - 4*a*c)^(1/2))/(2*a)

-(b - (b^2 - 4*a*c)^(1/2))/(2*a)

相关视频推荐

25.2.1 朴素贝叶斯算法|原理篇:连续型数据分类识别

24.2 KNN算法之邻点搜索方法:KD树,概念、原理和搜索流程KDTreeSearcher

35.10 郑重其事的讲下:局部函数

44.6 非线性自回归神经网络narnet时序数据预测编程代码实例

37.31 AppDesigner案例:数据库读取、查询和计算软件

31.3 Matlab绘图之图像上添加标题、标签和图例,那些希腊的罗马的特殊字符应该都涵盖了哈

38.4 从图片上自动提取圆心坐标和半径数据

26.5 SVM支持向量机,核函数Kernel和核变换,Matlab编程实例

22.9 混合整数线性规划intlinprog变量取值约束是整数

36.1 Matlab GUI 界面设计初学者光速入门

14.6 Matlab微分方程数值解法 经典ode45 龙格库塔 数学建模

45.1 一个实例入门Matlab深度学习|卷积神经网络

1.1 Matlab速成宝藏课/数学建模必备入门视频

End


网站公告

今日签到

点亮在社区的每一天
去签到