matlab里solve如何使用
matlab里solve如何使用
里solve如何使用,是否有别的函数可以代替它.
里我解y=9/17*exp(-1/2*t)*17^(1/2)*sin(1/2*17^(1/2)*t)=0这样的方程为什么只得到0这一个解,如何可以的到1/2*17^(1/2)*t=n*(pi)这样一族解??
在里面solve命令主要是用来求解代数方程(即多项式)的解,但是也不是说其它方程一个也不能解,不过求解非代数方程的能力相当有限,通常只能给出很特殊的实数解。(该问题给出的方程就是典型的超越方程,非代数方程)
从计算机的编程实现角度讲matlab里solve如何使用,如今的任何算法都无法准确的给出任意非代数方程的所有解,但是我们有很多成熟的算法来实现求解在某点附近的解。也不例外matlab没有solve函数,它也只能给出任意非代数方程在某点附近的解matlab里solve如何使用,函数有两个:fzero和,具体用法请用help或doc命令查询吧。如果还是不行,你还可以将问题转化为非线性最优化问题,求解非线性最优化问题的最优解,可以用的命令有:, , 等等。
*非线性方程数值求解
*单变量非线性方程求解
在中提供了一个fzero函数matlab没有solve函数,可以用来求单变量非线性方程的根。该函数的调用格式为:
z=fzero('fname',x0,tol,trace)
其中fname是待求根的函数文件名,x0为搜索的起点。一个函数可能有多个根,但fzero函数只给出离x0最近的那个根。tol控制结果的相对精度,缺省时取tol=epsmatlab没有solve函数,trace•指定迭代信息是否在运算中显示,为1时显示,为0时不显示,缺省时取trace=0。
例求f(x)=x-10x+2=0在x0=0.5附近的根。
步骤如下:
(1) 建立函数文件funx.m。
fx=funx(x)
fx=x-10.^x+2;
(2) 调用fzero函数求根。
z=fzero('funx',0.5)
z =
0.3758
**非线性方程组的求解
对于非线性方程组F(X)=0,用函数求其数值解。函数的调用格式为:
X=('fun',X0,)
其中X为返回的解,fun是用于定义需求解的非线性方程组的函数文件名,X0
- 随机文章
- 热门文章
- 热评文章