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

相关推荐
齐生17 小时前
iOS 知识点 - IAP 是怎样的?
笔记
tingshuo291720 小时前
D006 【模板】并查集
笔记
tingshuo29172 天前
S001 【模板】从前缀函数到KMP应用 字符串匹配 字符串周期
笔记
feifeigo1237 天前
matlab画图工具
开发语言·matlab
西岸行者7 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
琢磨先生David7 天前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
starlaky7 天前
Django入门笔记
笔记·django
勇气要爆发7 天前
吴恩达《LangChain LLM 应用开发精读笔记》1-Introduction_介绍
笔记·langchain·吴恩达
悠哉悠哉愿意7 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
qq_454245037 天前
基于组件与行为的树状节点系统
数据结构·c#