半夜汽笛965 2023-04-07 17:01 采纳率: 50%
浏览 102
已结题

用matlab复现欧拉法求解常微分方程初值问题

问题:函数或变量'eulerdif'无法识别
按照书上写的,希望有人能帮着解答一下

img

img

  • 写回答

5条回答 默认 最新

  • 「已注销」 2023-04-07 20:09
    关注

    书上的代码只是一部分,不完整,需要自己写函数。我在你代码基础上修改后,增加了自己编写的两个函数,用于计算欧拉法求解,代码如下:

    exa10_1=dsolve('Dy=-3* x* y','y(0)=1','x');
    exam10_1=inline('-3*x*y');
    E=eulerdif(exam10_1,0,2,1,0.1)
    ezplot(exa10_1,[0,2])
    hold on
    plot(E(:,1)',E(:,2)','r:')
    legend('解析解','数值解')
    hold off
    figure
    %examp10_1=inline(vectorize('-3* x* y'));
    syms x y;
    examp10_1 = -3*x*y;
    f = matlabFunction(examp10_1);
    
    direction_field(f, [0, 2], [0, 2], 0.1, 0.1);
    hold on
    ezplot(exa10_1,[0,2])
    hold off
    
    function [x, y] = eulerdif(f, x0, xn, y0, h)
    % 欧拉法求解常微分方程初值问题
    % f: 函数句柄,表示常微分方程的右端项
    % x0: 自变量初始值
    % xn: 自变量终止值
    % y0: 因变量初始值
    % h: 步长
    % x: 求解得到的自变量向量
    % y: 求解得到的因变量向量
    
    % 初始化解向量
    x = x0:h:xn;
    y = zeros(size(x));
    y(1) = y0;
    
    % 使用欧拉法求解
    for i = 1:length(x)-1
        y(i+1) = y(i) + h * f(x(i), y(i));
    end
    
    end
    function direction_field(f, x_range, y_range, x_step, y_step)
    % 绘制一阶常微分方程的方向场
    % f: 函数句柄,表示一阶常微分方程的右端项
    % x_range: 自变量范围
    % y_range: 因变量范围
    % x_step: 自变量步长
    % y_step: 因变量步长
    
    % 创建网格点
    [x, y] = meshgrid(x_range(1):x_step:x_range(2), y_range(1):y_step:y_range(2));
    
    % 计算方向场
    u = ones(size(x));
    v = f(x, y);
    
    % 绘制方向场
    quiver(x, y, u, v, 0.5, 'b', 'LineWidth', 1.2);
    
    % 添加坐标轴和标题
    xlabel('x');
    ylabel('y');
    title('Direction Field');
    
    end
    

    运行结果如下:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 4月7日

悬赏问题

  • ¥60 优博讯DT50高通安卓11系统刷完机自动进去fastboot模式
  • ¥15 minist数字识别
  • ¥15 在安装gym库的pygame时遇到问题,不知道如何解决
  • ¥20 uniapp中的webview 使用的是本地的vue页面,在模拟器上显示无法打开
  • ¥15 网上下载的3DMAX模型,不显示贴图怎么办
  • ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下:
  • ¥15 Mac(标签-IDE|关键词-File) idea
  • ¥15 潜在扩散模型的Unet特征提取
  • ¥15 iscsi服务无法访问,如何解决?
  • ¥15 感应式传感器制作的感应式讯响器