QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6042|回复: 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 A; F7 f: [9 W& ~% k$ ~/ e2 Lfunction z=nd(a,v,n,r,rv), O4 V$ z- h- ~, f
    A=a;
    # M: p* ~( C8 X( P8 DV=v;
    2 W- I/ f4 k& j. d, z2 Z6 _  _5 aN=n;$ W: R8 ?+ U$ D" Q7 f$ D
    R=r;
    7 H: j; m6 f: H% G; v1 FRV=rv;' O' w  L. A3 J  g5 |& U
    for k=1:N
    ; R8 J' g- r  U    A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);
    , z* V' l% p; x* T$ t5 z    z(1,k)=k;
    ; [# C7 c6 C: C- \6 D$ |/ i& ]1 L    z(2,k)=A(k);$ K. y% z; {8 b$ V: [% }) t
    end;3 M  e# ~- l9 M% n1 K( ~2 B
    然后z=nd(0.2,200*10^4,360,0.02,10^4);
    ) g& c; I" M/ h, S系统显示:
    / O$ }2 D; |4 ~! ^# e' ^' E??? Attempted to access A(2); index out of bounds because numel(A)=1.
    $ k& j% f3 [( I8 X* }, _/ iError in ==> nongdu at 8
    - `' O0 d, F# W" c% B  s1 D, p    A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);
    4 G2 w$ L4 G" I) g( A# b
    1 Z  p1 z- o7 P% ~1.请问为什么啊?
    - N" {- H$ E1 A' i; Q4 `1 _2.请问差分方程在matlab里边要怎么写啊,我以前写的时候都是用一维的矩阵写的,如A(n,1)。
    7 K2 Q7 H2 H- _9 [4 s看书上直接可以写成A(k),到底应该如何呢?
    # P  [& K' y( T! F- j3能不能有些教程或者实际的程序啊,当例子。
    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)
    3 [- T, b& P1 CA=a;
    # B7 [  D* F6 K9 ]' MV=v;
    ( a# J7 g& L4 T8 ?3 HN=n;
    : T) h0 d- E6 b, W% C! QR=r;8 C- m  g8 T0 M/ d0 a
    RV=rv;5 u: |! S# w( f+ G$ L- d
    for k=1:N& O, f# @- F0 G% S
        A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);+ k/ ~8 ~! Q% t% E/ q
        z(1,k)=k;% V8 X9 ~% D) e! e  Z
        z(2,k)=A(k);- Y# Q0 W1 M) Q( a: H5 R& i/ D
    end
    " z7 x! {2 Q- I/ Q9 o8 x4 j8 F9 ^. {, H# N9 ^6 E, g
    不知道这样可不可以。
    回复

    使用道具 举报

    5

    主题

    2

    听众

    806

    积分

    小学生

    升级  51.5%

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

    [LV.4]偶尔看看III

    自我介绍
    乐观、自信

    新人进步奖

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

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

    我试了一下,这样改一下就行了:% F# y% V' s! y6 {+ Y8 M4 |
    function z=nd(a,v,n,r,rv)4 `! T6 P' Y6 w' k# T
    A(1)=a;
    0 h' z- U; L3 |( OV=v;( V- S5 h6 X  W- L2 \3 }
    N=n;. k4 m+ S& J6 Q" a* z0 a. y" D2 \
    R=r;7 G" c/ y5 Q/ H: J& ]' O
    RV=rv;
      G0 V+ x8 [5 l/ E6 ?for k=1:N, O, \3 r; M% K, M' {
        A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);; r* u' ]& S- L; y
        z(1,k)=k;5 a2 P  @1 Y" q
        z(2,k)=A(k);' v1 w( Y4 Y& n6 W" _
    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),这属于非法赋值6 A3 q; |6 t- u$ o  s
    所以应该修改成:A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2)# p8 h/ m3 e7 n% R5 r* Z3 w
    2.不论是写成A(k),还是A(k,1),只要达到能表示向量的目的就行了,因为差分方程研究的是一个向量,而非一个矩阵; Y+ r+ M5 Y# S, {$ [& k7 F! {
    3.例子:这个就比较多了,根据差分方程的不同,主要改变的是上面的函数中的条件式子,但要始终注意赋值的合法性。
    回复

    使用道具 举报

    23

    主题

    5

    听众

    215

    积分

    升级  57.5%

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

    [LV.2]偶尔看看I

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    新人进步奖

    厚积薄发 发表于 2009-12-25 12:08
    + M2 [% d) v4 G" a1.出现error:A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);因为你的等式右边出现了A(k),这属于非法赋值
    , W, v/ H- C) \4 u所以应该修 ...

    , D! E" z8 Y7 K& b  A7 c谢谢谢  我终于明白了
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-5-26 07:30 , Processed in 0.362843 second(s), 80 queries .

    回顶部