QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6071|回复: 5
打印 上一主题 下一主题

求助:差分方程在matlab的实现问题

[复制链接]
字体大小: 正常 放大

23

主题

5

听众

215

积分

升级  57.5%

  • TA的每日心情
    开心
    2012-5-4 18:47
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    新人进步奖

    跳转到指定楼层
    1#
    发表于 2009-12-24 15:14 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    为算一道题我写了如下程序:(保存为nongdu.m)0 d- d& I+ H0 L0 g/ S8 n
    function z=nd(a,v,n,r,rv)
    4 k7 E  ^/ A0 |A=a;
    ( t+ a. I1 F# c- R5 QV=v;, J' w% `% w9 Q/ I9 K
    N=n;
    / j( l. t  |6 P: g* A5 @, cR=r;) J0 D' P2 U" x8 s* J# ~) [
    RV=rv;) P$ w+ q  v/ s! K7 X/ \) h! r
    for k=1:N& ]1 }# q3 I) j& K. q3 P
        A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);  k& `' m+ u& n) d8 X
        z(1,k)=k;
    + P" A+ ~, g4 ]6 m7 J7 V/ k    z(2,k)=A(k);+ D5 n+ [: z/ }" i  l
    end;  K8 ]: _' ^7 A+ J7 F% M5 x
    然后z=nd(0.2,200*10^4,360,0.02,10^4);
    ! l+ D2 k7 F  P' y系统显示:
    ) E* [- i' f5 I# ???? Attempted to access A(2); index out of bounds because numel(A)=1.
    7 `1 F2 `& `, f9 e/ \) |' UError in ==> nongdu at 8/ R0 j, Q0 A% x! G
        A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);
    0 v* _% V$ W, H! w# d. N
    9 M* Y, F1 A1 T( N# \6 I1.请问为什么啊?
    , `5 L7 d% J& E2.请问差分方程在matlab里边要怎么写啊,我以前写的时候都是用一维的矩阵写的,如A(n,1)。! h4 ~3 [/ g& \1 o
    看书上直接可以写成A(k),到底应该如何呢?+ n+ H# O0 Q& w+ s7 C: i
    3能不能有些教程或者实际的程序啊,当例子。
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    leo12ok 实名认证       

    3

    主题

    4

    听众

    556

    积分

    升级  85.33%

  • TA的每日心情
    擦汗
    2012-6-14 16:31
  • 签到天数: 1 天

    [LV.1]初来乍到

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    新人进步奖

    function z=nd(a,v,n,r,rv)0 Z8 `6 v/ R3 N5 x0 {# C% h
    A=a;
    9 p: F' g- \6 U% ~" EV=v;' {# p: h, ~) u. k; |8 Z  X
    N=n;
    % O1 I; }, o4 Z9 |, l8 c$ UR=r;9 F% J6 m- F5 X' @& W
    RV=rv;
    ' R+ C( @0 o0 Y% \  x' @for k=1:N& K0 l/ R5 r* x4 t: k0 R. R2 b
        A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);
    , a* z6 _' c8 w( x% P4 z. p    z(1,k)=k;% m0 j: k+ U" F
        z(2,k)=A(k);) y/ P2 m0 p3 _5 X) y4 W9 g
    end+ f! C  o% \  ~2 J5 _+ i9 l3 ?# s
    2 l1 N% ^* O  d. n% o
    不知道这样可不可以。
    回复

    使用道具 举报

    5

    主题

    2

    听众

    806

    积分

    小学生

    升级  51.5%

  • TA的每日心情
    开心
    2012-2-11 15:11
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    自我介绍
    乐观、自信

    新人进步奖

    群组中国矿业大学数学建模协会

    群组数学趣味、游戏、IQ等

    我试了一下,这样改一下就行了:
    ' f8 b( J0 s6 ^& O$ Dfunction z=nd(a,v,n,r,rv)7 n0 ], G6 j8 i, Y) s
    A(1)=a;, o; F/ |7 q" |6 j
    V=v;
    3 U( K1 v8 e( `* o2 p) X5 x/ @' yN=n;
    , p/ n3 [$ s' Q6 [0 JR=r;
    * j# p2 E( [5 v! N0 KRV=rv;
    1 S0 j* @2 d: J/ K( ffor k=1:N# B4 f: |' r3 @: [# _2 z4 h
        A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);7 @7 G5 u9 Q7 p; ^) V7 k
        z(1,k)=k;" H+ r% }6 J( g5 R
        z(2,k)=A(k);
    + `# E, a- e8 H4 M. @  x# yend
    回复

    使用道具 举报

    23

    主题

    5

    听众

    215

    积分

    升级  57.5%

  • TA的每日心情
    开心
    2012-5-4 18:47
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    新人进步奖

    回复

    使用道具 举报

    1341

    主题

    738

    听众

    2万

    积分

    数学中国总编辑

  • TA的每日心情

    2016-11-18 10:46
  • 签到天数: 206 天

    [LV.7]常住居民III

    超级版主

    社区QQ达人 邮箱绑定达人 元老勋章 发帖功臣 新人进步奖 原创写作奖 最具活力勋章 风雨历程奖

    群组2011年第一期数学建模

    群组第一期sas基础实训课堂

    群组第二届数模基础实训

    群组2012第二期MCM/ICM优秀

    群组MCM优秀论文解析专题

    1.出现error:A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);因为你的等式右边出现了A(k),这属于非法赋值
    6 g9 |) G! g: E7 `5 n: H所以应该修改成:A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2)% ?+ d& Y" \6 L  z( l/ V3 p8 n
    2.不论是写成A(k),还是A(k,1),只要达到能表示向量的目的就行了,因为差分方程研究的是一个向量,而非一个矩阵
    7 Y; C5 k' f$ _; K3.例子:这个就比较多了,根据差分方程的不同,主要改变的是上面的函数中的条件式子,但要始终注意赋值的合法性。
    回复

    使用道具 举报

    23

    主题

    5

    听众

    215

    积分

    升级  57.5%

  • TA的每日心情
    开心
    2012-5-4 18:47
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    新人进步奖

    厚积薄发 发表于 2009-12-25 12:08
    8 B9 c- ]! G# X' @8 @7 s) `1.出现error:A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);因为你的等式右边出现了A(k),这属于非法赋值, n" a" ^+ y* [9 y
    所以应该修 ...

    % e9 e% |6 G- a+ ]7 M% ~  L% o谢谢谢  我终于明白了
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-7-11 13:48 , Processed in 0.357516 second(s), 80 queries .

    回顶部