本文详细介绍MATLAB入门(10)MATLAB的数值分析 非线性方程式的实根
MATLAB入门(10)MATLAB的数值分析 非线性方程式的实根。
要求任一方程式的根有三步骤:
先定义方程式。要注意必须将方程式安排成 f(x)=0 的形态,例如一方程式为sin(x)=3,
则该方程式应表示为 f(x)=sin(x)-3。可以 m-file 定义方程式。
代入适当范围的 x, y(x) 值,将该函数的分布图画出,藉以了解该方程式的「长相」。
由图中决定y(x)在何处附近(x0)与 x 轴相交,以fzero的语法fzero('function',x0) 即可求出在 x0附近的根,其中 function 是先前已定义的函数名称。如果从函数分布图看出根不只一个,则须再代入另一个在根附近的 x0,再求出下一个根。
以下分别介绍几数个方程式,来说明如何求解它们的根。
例一、方程式为
sin(x)=0
我们知道上式的根有 ,求根方式如下:
>> r=fzero('sin',3) % 因为sin(x)是内建函数,其名称为sin,因此无须定义它,选择 x=3 附近求根
r=3.1416
>> r=fzero('sin',6) % 选择 x=6 附近求根
r = 6.2832例二、方程式为MATLAB 内建函数 humps,我们不须要知道这个方程式的形态为何,不过我们可以将它划出来,再找出根的位置。求根方式如下:
>> x=linspace(-2,3);
>> y=humps(x);
>> plot(x,y), grid % 由图中可看出在0和1附近有二个根
>> r=fzero('humps',1.2)
r = 1.2995例三、方程式为y=x.^3-2*x-5
这个方程式其实是个多项式,我们说明除了用 roots 函数找出它的根外,也可以用这节介绍的方法求根,注意二者的解法及结果有所不同。求根方式如下:
% m-function, f_1.m
function y=f_1(x) % 定义 f_1.m 函数
y=x.^3-2*x-5;
>> x=linspace(-2,3);
>> y=f_1(x);
>> plot(x,y), grid % 由图中可看出在2和-1附近有二个根
>> r=fzero('f_1',2); % 决定在2附近的根
r = 2.0946
>> p=[1 0 -2 -5]
>> r=roots(p) % 以求解多项式根方式验证
r =
2.0946
-1.0473 + 1.1359i
-1.0473 - 1.1359i
来源:豆豆网转载 责编:豆豆技术应用
点击搜索更多"MATLAB入门"相关信息
正在加载评论...
- Flash教程:打造窗之恋音乐动画
- 用Flash引导线制作爱心图案动画
- 再谈用Flash引导线制作爱心图案动画
- Flash教程 可爱卡通小蜜蜂睡觉了
- 用AS给自己制作Flash个性月历
- Flash制作漂亮的水滴滑落效果教程
- Coreldraw结合 R.A.V.E 制作动画
- 教你轻轻松松DIY圣诞电子贺卡
- Photoshop快速使你的手机照变鲜艳
- Flash制作星座查询器教程