数学建模matlab学习手记-计算篇

这篇博客介绍了MATLAB在数学建模中的应用,包括如何计算不定积分和定积分,解决数值积分问题,以及利用`solve`函数解方程和方程组。此外,还探讨了`vpasolve`用于寻找方程近似解,`ezplot`绘制函数图形,以及`fsolve`求解非线性方程。对于常微分方程,博客讲解了`dsolve`函数解析解的求法和`ode45`数值解的计算。
摘要由CSDN通过智能技术生成

数学建模matlab手记(包含常微分方程)

计算篇

  • 计算不定积分

    clear;clc
    syms x
    y=y(x);
    int(y,x);%matlab求不定积分不会给结果加常数C
    
  • 计算定积分

    int(y,x,1,pi/2);%加上上下限  +inf:正无穷 -inf:负无穷
    
  • 积分有时会出现积不出来的情况,这时使用数值积分

    integral(y,0,4)%0,4为上下限,注意要将y写成句柄形式,使用.* ./ .^等
    
  • 求解方程,方程组

    • solve函数
    syms x
    answ=solve(sin(x)==1,x)%只有一个未知数,x可以省略
    %或者
    eqn=sin(x)==1;
    answ=solve(eqn,x)
    
    %周期函数有多个解
    [answ,params,conditions]=solve(sin(x)==1,x,'returnconditions',true)
    answ = pi/2 + 2*pi*k
    params = k
    conditions = in(k, 'integer')
    %answ:解
    %params:参数
    %conditions:参数的解释
    
    %多变量方程求解
    syms a b c x
    eqn=(a*x^2+b*x^2+c==0);
    answ=solve(eqn,x)%视x为未知数,视其他为常数
    
    %方程组求解
    syms u v a
    eqn=[2*u+v==a,u-v==1];
    answ=solve(eqn,[u,v])&answ为一个向量,answ.u和answ.v是解
    %或
    [ansu,ansv]=solve(eqn,[u,v]);
    
    % solve 函数可能会出现警告
    
    • vpasolve函数

      clear;clc
      syms x
      eqn=sin(x)==x^2-1;
      vpasolve(eqn,x,[0 2])%[0,2]是最后求解的范围
      %亦可用
      %fplot(sin(x),[-2 2])
      %hold on
      %fplot(x^2-1,[-2 2])
      %从图像上找出解
      
    • ezplot

      syms x y
      f=exp(x)+4*y-2*x*y;
      g=exp(y)-3*x-2*x*y;
      ezplot(f,[-10 10])
      hold on
      ezplot(g,[-10 10])
      
    • fsolve函数

      result_x=fsolve(@my_fun,X0)%X0为多元函数初始值
      
  • 求常微分方程解析解

    dsolve('方程1','方程2','方程3','...','初始条件','自变量')
    
    dsolve('y-Dy=2*x','x')%无初始条件
    
    dsolve('y-Dy=2*x','y(0)=3','x')%有初始条件
    
  • 求常微分方程数值解

    % 1. 化成标准形式
    % 2. 建立df1.m文件
    % function dy=df1(x,y)
    % dy=y-2*x
    % end
    % 3. 使用ode45或ode15s函数进行求解
    [x,y]=ode45('df1',[0 2],3)
    % 即 { y`=y-2*x; y(0)=3;} 的数值解
    
    % 对高阶常微分方程,先把高阶转换为一阶
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值