QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5859|回复: 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)2 I8 Z* z% s, Y3 A
    function z=nd(a,v,n,r,rv)
    ' Z) h9 {2 n1 IA=a;
    7 v+ B* k9 G& ]V=v;& g8 p9 b$ }( B- z0 \- @  A3 x; T
    N=n;2 _0 k1 }2 p3 i/ e5 F' T
    R=r;
    4 o. U& k, P2 m: vRV=rv;! V9 W: Q$ ~( U! n
    for k=1:N
    , V  u6 x2 ?! P    A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);  V, h: L9 k' r" f( L3 F: l" L
        z(1,k)=k;
    7 P5 n7 \$ n1 I    z(2,k)=A(k);9 G( [. I0 B& q0 V: S
    end;# B- Z7 H- F$ @
    然后z=nd(0.2,200*10^4,360,0.02,10^4);$ w0 x+ {7 Z- y! z
    系统显示:1 \1 T, r; E1 |$ K, j. A
    ??? Attempted to access A(2); index out of bounds because numel(A)=1.: }+ K/ U  s9 ~6 ~/ U* M% e
    Error in ==> nongdu at 8! X$ N+ _+ f: T4 L; K
        A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);
    5 a* s- S$ ]: W: S. v& X3 [1 p- Y' l$ k1 f( ?5 l2 N& i2 A6 Z
    1.请问为什么啊?* W2 g6 y8 G* [$ s6 J$ m( N
    2.请问差分方程在matlab里边要怎么写啊,我以前写的时候都是用一维的矩阵写的,如A(n,1)。
    , ]# t- E& T3 |$ s$ ^* j! n看书上直接可以写成A(k),到底应该如何呢?3 e8 N2 c) E( N3 g5 E1 a1 L
    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)
    $ b* B" T! S- e. w( X1 e5 HA=a;
    $ W2 l% b) Y5 o% MV=v;+ w% B! P4 {7 Y' R  j
    N=n;
      Y8 r/ D4 k1 C2 A! p" rR=r;& z, Y- j4 c2 T8 F7 T, r& r8 ~
    RV=rv;7 k) d# J7 @  w0 J: y
    for k=1:N" ?, j; U, r7 i: y! E: ~
        A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);
    5 q* k/ k( K) k2 H8 c+ ^/ m    z(1,k)=k;$ j$ y9 j2 x" S7 F
        z(2,k)=A(k);
    8 @$ `$ C: p/ C; `end
    & ^; Y3 t( b5 {% V. @$ ?6 f- ]7 j+ o" l$ [1 R9 v* `
    不知道这样可不可以。
    回复

    使用道具 举报

    5

    主题

    2

    听众

    806

    积分

    小学生

    升级  51.5%

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

    [LV.4]偶尔看看III

    自我介绍
    乐观、自信

    新人进步奖

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

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

    我试了一下,这样改一下就行了:
    8 e# R8 t0 Z0 W+ m" g" e$ p! @4 Nfunction z=nd(a,v,n,r,rv)
    : I9 |# g" ?" |' t+ @: S7 hA(1)=a;
    9 x- _- P' C/ M& U. rV=v;
    8 C( f* M) k3 }+ |* i- qN=n;
    ; w# M1 X5 b+ Q2 [' z8 X, cR=r;* y4 C1 L$ F# Z- w: x
    RV=rv;
    + W0 J) t# y4 t" p: B2 [for k=1:N6 [* H# h+ k; U/ m% O# ?
        A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);" |% g1 |4 d9 K# F; X& D8 ~5 L
        z(1,k)=k;0 V6 ^, W0 D& Q* V
        z(2,k)=A(k);) Q# A; i% |7 N4 x4 V; _) O
    end
    回复

    使用道具 举报

    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),这属于非法赋值( z5 E& ~. Q& U5 N* \' u% R
    所以应该修改成:A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2)5 r6 o+ l2 }( ^9 f4 H
    2.不论是写成A(k),还是A(k,1),只要达到能表示向量的目的就行了,因为差分方程研究的是一个向量,而非一个矩阵2 s4 q; w7 `: E( X
    3.例子:这个就比较多了,根据差分方程的不同,主要改变的是上面的函数中的条件式子,但要始终注意赋值的合法性。
    回复

    使用道具 举报

    23

    主题

    5

    听众

    215

    积分

    升级  57.5%

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

    [LV.2]偶尔看看I

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    新人进步奖

    厚积薄发 发表于 2009-12-25 12:08
    0 T( l- q0 k7 C7 z) _2 P1.出现error:A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);因为你的等式右边出现了A(k),这属于非法赋值8 E2 s+ q2 c1 H2 H
    所以应该修 ...
    : v" k) R3 f$ ]+ e' m' K- I: u, m
    谢谢谢  我终于明白了
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-8-23 01:13 , Processed in 0.643793 second(s), 79 queries .

    回顶部