找回密码
 注册
关于网站域名变更的通知
查看: 316|回复: 1
打印 上一主题 下一主题

本人菜鸟,刚入行学习matlab编程。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-6-1 15:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本人菜鸟,刚入行学习matlab编程,参照温正编写的书籍《精通MATLAB科学计算》,在学习欧拉法中的向前欧拉法时,按照书中的例子,一直有问题产生,想请教一下大神们。
3 @* I. X6 y$ I/ [* }+ k$ }软件:matlab R2017b,电脑:win10- K) l# O5 e' ?, k6 F) S
书中向前欧拉法函数文件如下:( b. |* u; d8 y3 A6 E! H& k
: n7 w( A1 o! K+ m* e
  • function P=Eulerli1(x0,y0,b,h)
  • %x0初值
  • %y0为初值
  • %b为x0取值区间的右端点
  • %h为步长
  • n=(b-x0)/h;
  • X=zeros(int(n),1);
  • Y=zeros(int(n),1);
  • k=1;
  • X(k)=x0;
  • Y(k)=y0;
  • for k=1:n
  •     X(k+1)=X(k)+h;
  •     Y(k+1)=Y(k)+h*(X(k)-Y(k));
  •     k=k+1;
  • end
  • y=X-1+2*exp(-X);
  • plot(X,Y,'mp',X,y,'b-')
  • grid
  • xlabel('自变量 X'),ylabel('因变量')
  • legend('h=0.075 数值解','精确解')
  • jwY=y-Y;
  • xwY=jwY./y;
  • k1=1:n;
  • k=[0,k1];
  • P=[k',X,Y,y,jwY,xwY];
      E  w' ^  j: ~6 ?+ E0 v5 f

6 {5 D5 m" g. Y3 ]$ L$ z) F
) Z/ o; U8 U0 C% J7 I/ `$ G$ S红色部分就是一直出问题的地方,我上网看了一下,zeros函数里面必须是整数,可是我应该如何修改这个函数文件呢?$ ]  z8 F1 G; g/ V
自己也看了其他人的向前欧拉法,比如:
1 L3 e6 z  P8 y6 e
  • %  forward euler method
  • function  [ x, y ] = euleRF ( f, y0, a, b, n )
  • y ( 1 ) = y0 ;
  • h = ( b - a ) / n;
  • x = a : h : b;
  • for i = 1 : n
  •     y ( i +1 ) = y ( i ) + h * feval ( f, x ( i ), y ( i ) ) ;
  • end;# V7 N; z  j5 [! p0 K
6 ?, c( h# ?0 G4 m# U6 v& v! h' X
关键第一种书上的还有图形出来,但是可能函数的一些编写理由自己不是很清楚,麻烦大神指点一下,非常感谢!
" b- S* m( {3 v

该用户从未签到

2#
发表于 2020-6-1 15:58 | 只看该作者
《精通MATLAB科学计算》这本书确实不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-23 21:58 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表