QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6043|回复: 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)) E9 [+ d/ w7 H8 {
    function z=nd(a,v,n,r,rv)5 @: {! ~- g: ]( F1 x
    A=a;5 M8 q$ E# r# a& D3 r9 I& j: e
    V=v;
    ! h  U' K2 D/ I. U5 r3 M, xN=n;
    . e& z& J% ]7 Q  h3 V7 kR=r;1 l3 o) V, E$ D7 l' c7 _
    RV=rv;, K8 t5 ?" d% S, f
    for k=1:N
    , i! q/ \9 Y/ b9 i- C+ N    A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);4 r5 b3 [# G+ R' s" R
        z(1,k)=k;0 Y0 A, v3 X; @/ ^+ c$ j! m" e
        z(2,k)=A(k);$ [5 {8 V. l- W
    end;: e2 v/ y& s3 m$ o6 ?
    然后z=nd(0.2,200*10^4,360,0.02,10^4);; K" [5 J/ z6 }) A; o
    系统显示:& ^5 m) B& L( U
    ??? Attempted to access A(2); index out of bounds because numel(A)=1.
    . y& @, p  Y/ S3 OError in ==> nongdu at 84 _, _1 e$ \, ?/ m, ?1 S
        A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);
    / m  q6 j0 y0 l" r, W- ?7 b6 O
    ! u, z5 n/ \2 m/ H- z7 ^" h( a1.请问为什么啊?
    5 Y; ?, C5 ]# V' s4 @( g% W2.请问差分方程在matlab里边要怎么写啊,我以前写的时候都是用一维的矩阵写的,如A(n,1)。
    ! z3 u6 Z. @4 U  M$ {0 d! E看书上直接可以写成A(k),到底应该如何呢?
    & {6 ~' }! H+ T- O9 B' Q& Y  P3能不能有些教程或者实际的程序啊,当例子。
    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)
    : |7 a9 w/ Q. V2 ]A=a;
    . H( \$ T. z! F) c7 O& D, W7 UV=v;6 }2 H% C' \4 `. z
    N=n;
    8 r+ J2 {7 P# uR=r;# A, z7 h2 U2 V! R3 _
    RV=rv;* q. \4 r' p& G+ L# t% _: ^+ W# G
    for k=1:N" f. m' h$ m2 M# w+ }% k2 ?/ p" Z
        A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);+ q0 T, V; Z. @& t% Y4 t6 {2 V5 D# M5 d& U/ E
        z(1,k)=k;4 ]7 p) A& u. r( l  h- N5 i
        z(2,k)=A(k);) K* |+ [4 |% A% S9 `6 s
    end0 ]( T4 `9 K+ M: f

    ; @4 R. b1 V- J/ [6 ?+ D6 u1 X* X不知道这样可不可以。
    回复

    使用道具 举报

    5

    主题

    2

    听众

    806

    积分

    小学生

    升级  51.5%

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

    [LV.4]偶尔看看III

    自我介绍
    乐观、自信

    新人进步奖

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

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

    我试了一下,这样改一下就行了:
    : x% z4 ]+ u& W5 bfunction z=nd(a,v,n,r,rv)1 l2 C* J2 `9 D7 e9 T
    A(1)=a;  u+ t  K2 v: ^/ W) B
    V=v;
    9 D1 @" ?  b! d" a1 X# W0 D/ Q/ x8 jN=n;
    : s% F3 ~2 k3 H$ X5 BR=r;$ }" o  r: z* ?; L% K( H% Y
    RV=rv;
    / c2 u5 y2 z+ [for k=1:N
    ! L/ Z$ O6 \  s9 C- K" B    A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);( X  D9 d7 }  A2 }: E8 ], T  I3 |! b
        z(1,k)=k;# [0 ?0 c0 m! F; k0 d. k5 o. g
        z(2,k)=A(k);( H! p1 M8 l3 f5 c# M0 @+ L
    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),这属于非法赋值8 j* `: N6 M; ]  j  p4 K5 W
    所以应该修改成:A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2)
      R1 O' I0 K; D! x3 D& j2.不论是写成A(k),还是A(k,1),只要达到能表示向量的目的就行了,因为差分方程研究的是一个向量,而非一个矩阵/ M$ H* a4 Y8 T. {9 ?# X
    3.例子:这个就比较多了,根据差分方程的不同,主要改变的是上面的函数中的条件式子,但要始终注意赋值的合法性。
    回复

    使用道具 举报

    23

    主题

    5

    听众

    215

    积分

    升级  57.5%

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

    [LV.2]偶尔看看I

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    新人进步奖

    厚积薄发 发表于 2009-12-25 12:08 5 p" _  P/ x$ F2 D" k& m
    1.出现error:A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);因为你的等式右边出现了A(k),这属于非法赋值- S8 J% W/ F) v4 u3 e' w" ]
    所以应该修 ...
    2 L. r2 U0 k1 ~% Y  G: V% s8 p
    谢谢谢  我终于明白了
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-5-26 08:42 , Processed in 0.359451 second(s), 79 queries .

    回顶部