对所给的斜率场求解方程,并将所给程序进行注释。

Matlab程序代码:

clear s t x0 y0 a b
syms s t
f=sin(s)*sin(t);
a=16.0;
b=16.0;
x0=-8;
y0=-8;
m=40;
n=40;
h1=a/m;
h2=b/n;
hold  % 将新旧图形保持在同一个图中
for i=1:m   % i 从1每次以1为距离差一直加到m
    s=x0+(i-1)*h1;  
    for j=1:n  % j 从1每次以1为距离差一直加到n
        t=y0+(j-1)*h2;
        d=eval(f);  % 执行式子f
        y1=t+2/3*h1*d;
        if abs(y1-t)>2/3*h2  % 检查(y1-t)的绝对值是否大于2/3*h2
            x1=s+1/d*h2*2/3;  % 如果上面的if语句为真则执行
            plot([s,x1],[t,t+h2*2/3]) % 以向量"[s,x1]"为x轴,以向量“[t,t+h2*2/3]”为y轴绘图
        else
            plot([s,s+h1*2/3],[t,y1]) % 以向量"[s,s+h1*2/3]"为x轴,以向量“[t,y1]”为y轴绘图 
        end
    end
end
title('dy/dx=sinx*siny');  % 以“dy/dx=sinx*siny”为该图形的标题
xlabel('x');  % 标记x轴
ylabel('y')   % 标记y轴


运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值