Matlab自学笔记六十一:快速上手解方程
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