QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6066|回复: 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)
    : x/ P8 o( k* y& }function z=nd(a,v,n,r,rv)
    & F1 K7 a! ~% O' j, KA=a;
    / U! I. Q3 ^4 N3 Z/ U; @" pV=v;7 d" h6 }( \0 Q2 y# d
    N=n;
    1 {+ [$ k( B/ k; E# O; l8 pR=r;& U# e( d5 }4 @" g7 D( j6 M
    RV=rv;
    : J5 ^+ U/ J9 r; T1 l3 Y  N1 t  Afor k=1:N8 c# y  o- Q. J' |$ p, m, u
        A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);
    9 y& q0 A# D+ Z, M    z(1,k)=k;5 O0 {) a- h" p4 \3 Z: |" x0 k' `) V
        z(2,k)=A(k);5 ~7 D* @" k5 f; S, V
    end;; B1 h" o1 W: e: b6 k
    然后z=nd(0.2,200*10^4,360,0.02,10^4);# J9 E9 f! v0 L
    系统显示:
    , `: m1 n' [& b8 j$ T??? Attempted to access A(2); index out of bounds because numel(A)=1.' D# x/ C. b/ C7 Y- N
    Error in ==> nongdu at 86 `* K( p/ I/ @% k- V
        A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);
    . E$ h& x1 w& p" A8 T1 I8 M4 N( A9 @9 b. {" B" o/ ?
    1.请问为什么啊?( o5 q1 D. g+ a: _5 y
    2.请问差分方程在matlab里边要怎么写啊,我以前写的时候都是用一维的矩阵写的,如A(n,1)。/ q3 {; R7 \! X) L4 K
    看书上直接可以写成A(k),到底应该如何呢?
    - c: q5 [0 b" n# 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 K6 v0 \2 o- T& T, _# D( SA=a;$ v' J% i; c5 q! T5 s4 l
    V=v;
    # X3 P; }+ S3 ~! M5 \8 qN=n;
    1 p. U/ ^4 g2 ?" ?6 b3 {/ IR=r;; {; @2 t* s5 W9 G7 U
    RV=rv;0 I! u7 v' y/ L# R+ y+ a" a: q
    for k=1:N
    1 y# b$ V+ ~* h+ j  s& X. @    A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);
    1 {+ Q' l3 Y9 W% N) E    z(1,k)=k;8 U; b$ x. I- T, J& r$ w
        z(2,k)=A(k);
    $ {  u1 r) c3 Y$ G; Pend
    2 u  B: e2 E* t* I9 V' P5 k3 g7 F8 l! u4 a4 R# b
    不知道这样可不可以。
    回复

    使用道具 举报

    5

    主题

    2

    听众

    806

    积分

    小学生

    升级  51.5%

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

    [LV.4]偶尔看看III

    自我介绍
    乐观、自信

    新人进步奖

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

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

    我试了一下,这样改一下就行了:7 k* I3 r) Q8 d8 k$ W
    function z=nd(a,v,n,r,rv)1 j, y' Z* S0 G  M5 g# Y% H3 h
    A(1)=a;
    , W- S( Z6 q6 i9 q6 aV=v;4 `& x3 D& s* o  s/ I( O2 A( W
    N=n;
    / Y+ k2 Y" t  YR=r;
    6 ]. L  T) O; ]2 B/ z& }+ p# URV=rv;
    , u9 T; q& }( i( B+ @# Wfor k=1:N
    1 u- a+ U7 R6 ?    A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);, l! @8 H' f2 `  s$ h( U
        z(1,k)=k;, y9 p% K& |$ i  n) T
        z(2,k)=A(k);
    0 J+ J+ O6 S3 O; tend
    回复

    使用道具 举报

    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),这属于非法赋值3 ?- G) w8 ^9 h4 j$ F/ `7 ]/ R
    所以应该修改成:A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2)9 l& ?% Q3 w1 c, j, K
    2.不论是写成A(k),还是A(k,1),只要达到能表示向量的目的就行了,因为差分方程研究的是一个向量,而非一个矩阵& Z7 U; o4 r( X) ?  Z
    3.例子:这个就比较多了,根据差分方程的不同,主要改变的是上面的函数中的条件式子,但要始终注意赋值的合法性。
    回复

    使用道具 举报

    23

    主题

    5

    听众

    215

    积分

    升级  57.5%

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

    [LV.2]偶尔看看I

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    新人进步奖

    厚积薄发 发表于 2009-12-25 12:08 : \: m! N, _7 b" [: D$ U  p& T% N
    1.出现error:A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);因为你的等式右边出现了A(k),这属于非法赋值* p1 i! `* J3 r% t, X
    所以应该修 ...

    ( ]4 {. Y$ B, b: B# j谢谢谢  我终于明白了
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-7-9 12:38 , Processed in 0.413072 second(s), 80 queries .

    回顶部