QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6022|回复: 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)
    " a% K: W& o7 U0 q1 pfunction z=nd(a,v,n,r,rv)
    2 z0 M; I2 j. {2 I& {. lA=a;
    : x' k* j8 d9 T+ X4 oV=v;
    % c$ Q/ J9 y" M. F; O3 b6 jN=n;8 G7 V' V  o! Q% ], f
    R=r;) e3 O4 `5 M. Y, s. i5 R6 ?
    RV=rv;
    ( O/ I( R* x/ U1 T2 f& pfor k=1:N6 A) m  l# P* C3 w' E: z
        A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);2 b8 N( \  L2 W7 t
        z(1,k)=k;$ x- r) f$ g' T
        z(2,k)=A(k);
    1 \7 L; p1 ]; ^6 p& Vend;+ O1 l  q% {3 w1 [1 \4 D% @
    然后z=nd(0.2,200*10^4,360,0.02,10^4);
    0 v8 q3 R8 C! J8 _, }系统显示:8 @5 @8 q( Y" P
    ??? Attempted to access A(2); index out of bounds because numel(A)=1.! p. t4 E& V, Z" a& Y+ \
    Error in ==> nongdu at 8* T' i" P8 |7 _& }7 v  z5 m! ~0 |, S( E4 {! Q
        A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);
    ) c% W- B: E/ d  o) U4 U4 ?! G& `& D/ ?% j9 D" y7 ], n- Y& \7 f
    1.请问为什么啊?
    ' r1 R& \  @, [9 a7 b1 |$ ~2.请问差分方程在matlab里边要怎么写啊,我以前写的时候都是用一维的矩阵写的,如A(n,1)。- b' R  B( n3 q4 p- P8 u. l
    看书上直接可以写成A(k),到底应该如何呢?( d# v, u1 Z; A3 ?! e8 F$ h
    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)
    5 |1 T- B1 w% {& J. @3 rA=a;2 z( `; k/ p; q9 ?: D- o
    V=v;
    . g4 k" s% S/ e6 B3 eN=n;0 [) m9 H/ W1 ~) m& a% z0 X
    R=r;
    " K$ e% I" \4 C( E& LRV=rv;' ^* x3 A- v- a% {. I# D* D. X
    for k=1:N
    : {/ j6 I& g. C! A$ ~, _7 f7 Y    A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);# U* c* D: R/ j7 d9 b
        z(1,k)=k;- p. @) r7 O. @$ Z6 S& ]" U' Y. r
        z(2,k)=A(k);  X  q! b9 ]" {& h9 _6 C
    end
    4 o% P( r) T9 j
    ; {" @6 K) e- v- k, n+ A# U- Q不知道这样可不可以。
    回复

    使用道具 举报

    5

    主题

    2

    听众

    806

    积分

    小学生

    升级  51.5%

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

    [LV.4]偶尔看看III

    自我介绍
    乐观、自信

    新人进步奖

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

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

    我试了一下,这样改一下就行了:2 b. ~4 r* l4 l$ N( L9 K' o
    function z=nd(a,v,n,r,rv)# A& {" Q0 A. }& c' ~6 k
    A(1)=a;
    : y9 k9 v; z, Q4 b, oV=v;3 l- r! J* J, O! Q4 I  s. g! M- F7 l
    N=n;
    9 o" g3 e6 O4 iR=r;- h- A) }0 d  f6 s  Z9 d3 e# i' X
    RV=rv;: }* v7 s) R* l) v- S5 ]( v$ p
    for k=1:N/ i4 H3 J  W7 i+ ]2 W$ x
        A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);
    ) L7 x- A: m8 n% y* ?, D! {3 T    z(1,k)=k;& T0 b  H9 [8 r4 q
        z(2,k)=A(k);
    6 C4 S5 Z6 S$ Kend
    回复

    使用道具 举报

    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 Z. h. G3 I& H3 m* e/ N+ X( R$ L所以应该修改成:A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2)6 D8 `0 A; o  S
    2.不论是写成A(k),还是A(k,1),只要达到能表示向量的目的就行了,因为差分方程研究的是一个向量,而非一个矩阵9 R" _) H/ g2 W. E) }
    3.例子:这个就比较多了,根据差分方程的不同,主要改变的是上面的函数中的条件式子,但要始终注意赋值的合法性。
    回复

    使用道具 举报

    23

    主题

    5

    听众

    215

    积分

    升级  57.5%

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

    [LV.2]偶尔看看I

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    新人进步奖

    厚积薄发 发表于 2009-12-25 12:08 " ?  B9 a+ T$ l, v- C
    1.出现error:A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);因为你的等式右边出现了A(k),这属于非法赋值4 n7 v# v7 p. R5 ~% H
    所以应该修 ...

      i2 j9 t2 h8 g4 E0 A8 r谢谢谢  我终于明白了
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-4-20 08:18 , Processed in 0.412858 second(s), 80 queries .

    回顶部