专题0 初识Matlab

什么叫计算?

(1)算术运算,平时用的加减乘除、乘方开方等数学运算
(2)较为复杂的运算,即根据已知量求未知量,如函数关系,定积分,方程求根等

稍微复杂的运算
但是,我们实际工程应用中的问题往往是十分复杂的,比如要解高次方程,超越方程,但
传统方法是无法求出这些方程的精确解的,此时我们需要借助计算机来进行计算。利用计算机运行速度快,计算精度高的特点来计算。

计算方法

什么叫科学计算?

利用计算机处理数值问题的解法,称为科学计算(Scientific Computing)

科学计算方法

科学计算与Matlab语言的关系

当我们拿到一个问题,我们一般是通过以下步骤求解:

  1. 分析数值问题
  2. 研究求解算法
  3. 通过计算机程序实现
  4. 分析计算结果

在这里插入图片描述
Matlab(Matrix Laboratory)是一款科学计算软件。

Matlab语言的主要功能

  • 数值计算
  • 符号计算
  • 图形绘制
  • 程序流程控制
  • 工具箱

研究一个实例问题: 求 x 2 − 3 x + 1 x^2-3x+1 x23x+1 的根,我们有三种方法

  • 因为是一元二次方程,可以直接利用求根公式
  • 数值计算方法,如:迭代法,二分法,割线法
  • Matlab解法

我们重点讨论Matlab解法,看看Matlab的优势

**方法一:**利用Matlab多项式求根函数roots来求根

p=[1 -3 1];
x=roots(p)

在命令行窗口中输入可以得到运行结果:
在这里插入图片描述
通过Matlab的绘图功能绘制函数 f ( x ) = x 2 + 3 x + 1 f(x)=x^2+3x+1 f(x)=x2+3x+1 的图像可以知道方程解的大致位置,代码如下:

x=-5:0.1:5;  % 产生x向量
y1=x.*x-3*x+1; % 求函数值向量y1
y2=zeros(size(x)); % 产生和x向量同大小的零向量
plot(x,y1,x,y2);
grid on

结果如下图所示:
在这里插入图片描述
方法二: 利用Matlab提供的求单变量非线性方程根的函数fzero,利用该函数可以求方程在某个初始点附近的实根。
代码如下:

f=@(x) x*x-3*x+1; % 定义匿名函数f(x)
x1=fzero(f,0.5)  % 分别求f(x)=0在x=0.5和x=2.5处的附近的实根
x2=fzero(f,2.5)

结果如下:
在这里插入图片描述

方法三:在Matlab最优化工具箱中还提供了一个功能更强的方程求根函数fsolve,fsolve的第三个参数用于 设置优化参数 ,可以调用optimset函数完成

f=@(x) x*x-3*x+1;
x1=fsolve(f,0.5,optimset('Display','off')) 
% Display选项设置为off,表示不显示迭代的中间结果
x2=fsolve(f,2.5,optimset('Display','off'))

在这里插入图片描述

**方法四:**利用solve函数求方程的符号解,通过eval函数可以将符号解转换成数值解
Matlab代码如下:

syms x;
x=solve(x^2-3*x+1)
x=eval(x)

得到结果如下:
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值