MATLAB 方程式求根

一.符号寻根法(Symbolic Root Finding Approach)

把自变量作为符号来处理,而非作为数来处理,得到的是解析解而非数值解

1.创建符号化的变量/函数/表达式/矩阵:

 = sym(""[,"","clear"]):创建符号化的变量x
  #注意:sym('pi') now creates a symbolic variable named pi instead of a symbolic number representing the mathematical constant π
  #参数说明:
    set:假设变量属于某集合;可为"real"(实数)/"positive"(正数)/"integer"(整数)/"rational"(有理数)
    "clear":要求清除设置在变量上的假设,即清除set(不能与set同时使用)
 = sym("",[  ... ][,,"clear"]):创建符号化的向量A=[an1,an2...anM]
  #注意:[  ... ]整体是1个向量,1个参数!!!
  #an1,an2...不会出现在Workspace的当前变量中
  #多维数组的表示参见官方文档
  #参数说明:
    set:表示所有向量中的元素都属于某集合;可用值同上
    "clear":要求清除设置在所有向量中元素上的假设,即清除set(不能与set同时使用)
 = sym("",):创建1个元素为随机数的符号化的n阶方阵
sym([,]):将1个数值/数值矩阵转换为符号化的数值/矩阵
  #参数说明:
    flag:指定如何将浮点数转换为符号化的数值
sym():将字符串/字符向量转换成精确的(避免任何近似)符号化的值
 = sym()

#注意:也可以使用syms,参见官方文档

#实例:
>> x = sym('x')
x =

     x

>> a = sym('a',[1 4])
a =
 
     [ a1, a2, a3, a4]

>> a = sym('x_%d',[1 4])
a =
 
     [ x_1, x_2, x_3, x_4]

>> a(1)
ans =

     x_1

>> a(2:3)
ans =

	 [ x_2, x_3]

>> A = sym('A',[3 4])???创建array和matrix如何区分
A =
 
     [ A1_1, A1_2, A1_3, A1_4]
	 [ A2_1, A2_2, A2_3, A2_4]
	 [ A3_1, A3_2, A3_3, A3_4]

>> 

二.数值求根法(Numeric Root Solvers)

三.递归函数(Recursive Function)

你可能感兴趣的:(MATLAB)