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

相关推荐
程序员Xu33 分钟前
【LeetCode热题100道笔记】二叉树的中序遍历
笔记·算法·leetcode
Source.Liu1 小时前
【Python基础】 18 Rust 与 Python print 函数完整对比笔记
笔记·python·rust
快去睡觉~1 小时前
力扣416:分割等和子集
数据结构·c++·算法·leetcode·职场和发展·动态规划
闻道且行之2 小时前
嵌入式|Linux中打开视频流的两种方式V4l2和opencv
linux·笔记·opencv·嵌入式
于顾而言2 小时前
【笔记】Software Engineering at Google
笔记·log4j·软件工程
DKPT3 小时前
JVM新生代和老生代比例如何设置?
java·开发语言·jvm·笔记·学习
ST.J3 小时前
设计模式笔记
笔记·设计模式
WangYan20223 小时前
MATLAB 2023a深度学习工具箱全面解析:从CNN、RNN、GAN到YOLO与U-Net,涵盖模型解释、迁移学习、时间序列预测与图像生成的完整实战指南
深度学习·matlab·matlab 2023a
迎风打盹儿3 小时前
均匀圆形阵抗干扰MATLAB仿真实录与特点解读
matlab·信号处理·抗干扰·均匀圆阵·波束合成
Imxyk3 小时前
力扣:2322. 从树中删除边的最小分数
数据结构·算法·leetcode