【参见视频:https://www.bilibili.com/video/av14503445/?p=11】
解析解
(Symbolic Root Finding Approach)
把x定义成一个符号。
用sym或者 syms创建一个symbolic variable:
>> syms x
>> x+x+x
ans =
3*x
>> (x+x+x)/4
ans =
(3*x)/4
>>
>> x = sym('x');
>> x+x+x
ans =
3*x
>> (x+x+x)/4
ans =
(3*x)/4
>>

>> y = x^2-2*x-8
y =
x^2 - 2*x - 8
>>
此时y也是一个symbolic variable
solve()
用matlab求解:
![]()
>> syms x;
>> y = x*sin(x)-x
y =
x*sin(x) - x
>> solve(y,x)
ans =
0
pi/2
>>
当找不到解时 :
>> syms x
>> ff = cos(x)^2 +sin(x)^2
ff =
cos(x)^2 + sin(x)^2
>> solve(ff,x)
ans =
Empty sym: 0-by-1
>>
解二元一次方程式:

>> syms x y
>> eq1 = x-2*y-5;
>> eq2 = x+y-6;
>> A = solve(eq1,eq2,x,y)
A =
x: [1x1 sym]
y: [1x1 sym]
>> A.x
ans =
17/3
>> A.y
ans =
1/3
>>

本文介绍了在MATLAB中求解方程的方法,包括使用`solve()`函数进行解析解,解决二元一次方程,利用`syms`处理微分和积分问题,以及`fsolve`、`fzero`和`roots`函数在数值求解中的应用。特别是`fsolve`的选项设置如`MaxIter`和`TolFun`对提高解的精度的影响,并讨论了递归函数在求解过程中的作用。
最低0.47元/天 解锁文章
8936

被折叠的 条评论
为什么被折叠?



