QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6073|回复: 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)' {8 o' y2 a6 d, l9 h6 U0 o
    function z=nd(a,v,n,r,rv)5 x- O+ @8 w1 `  a9 _
    A=a;
    " ?7 T! c8 T% N9 @( ]V=v;9 w+ }+ M' O  ^9 u, B7 |
    N=n;$ j1 k1 I- [* Z4 }9 B0 n/ B9 `# C
    R=r;
    0 d6 O" Z& a8 D& \RV=rv;( {9 ?, {* }( K2 o
    for k=1:N
    4 [& F+ G+ s& b4 Z    A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);- j! X) `4 c- U
        z(1,k)=k;2 }2 J5 i. t% y7 J) e2 ?4 i* a
        z(2,k)=A(k);+ O# {; F6 y; O' `8 J7 }, Q
    end;
    * K: y' s3 B! X; }( ~( @7 @2 N1 g然后z=nd(0.2,200*10^4,360,0.02,10^4);
    * b9 F# L( D7 g' _系统显示:4 L+ m) M. K$ Y
    ??? Attempted to access A(2); index out of bounds because numel(A)=1.
    3 q' k; f6 T7 Q+ \; Q' E  ^Error in ==> nongdu at 8$ _, l- g: N% Q8 S
        A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);3 ^$ v: d  p8 M2 |

    0 q( W8 M( u9 O( \. }) J. M' R# d1.请问为什么啊?4 ?) D+ p$ g' o3 g; ]
    2.请问差分方程在matlab里边要怎么写啊,我以前写的时候都是用一维的矩阵写的,如A(n,1)。  e8 s1 W1 p, E- g5 N
    看书上直接可以写成A(k),到底应该如何呢?
    # k- z* t. f+ k4 S2 n8 y3能不能有些教程或者实际的程序啊,当例子。
    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)
    - ^8 A' G9 s+ C7 ?0 UA=a;
    ) V0 h& X6 R9 e! F0 QV=v;5 h& D1 P' V1 ~4 M  u0 D  `
    N=n;
    " j# {+ D: N; C  C  y7 R  \R=r;
    ) c' ~& R5 L4 D0 }) z7 w4 u, wRV=rv;9 c6 P; w7 r3 S+ }, \% O/ k4 A* r
    for k=1:N
    1 R5 t5 X* G9 F6 r* V4 M# s2 {    A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);+ M+ b3 F7 n& m. a) |5 i
        z(1,k)=k;5 ]: K! b% x& L. M+ [8 h
        z(2,k)=A(k);) I' t9 c9 g  r' C  W6 P
    end% R) i0 D* S5 l# p

    ; @# B/ g8 e- ]! ?! |9 @  K不知道这样可不可以。
    回复

    使用道具 举报

    5

    主题

    2

    听众

    806

    积分

    小学生

    升级  51.5%

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

    [LV.4]偶尔看看III

    自我介绍
    乐观、自信

    新人进步奖

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

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

    我试了一下,这样改一下就行了:
    # W$ H  j) {: I8 j5 Qfunction z=nd(a,v,n,r,rv)
    " C- _: _# l0 H7 lA(1)=a;" ]% P- a( y+ T
    V=v;/ k$ C; o- u% R2 X9 Z5 B
    N=n;7 p$ {& l4 i, z7 {$ V2 U& r# |
    R=r;
    2 b. P8 Y7 f0 A2 ^8 xRV=rv;) X7 i% g+ T' l+ Q  w* C+ I7 L. U
    for k=1:N: r5 i& b% }0 P5 x( j6 I) G
        A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);/ p# p2 T( x% Z. i
        z(1,k)=k;
    1 M. o+ o% @' [% e    z(2,k)=A(k);% G/ o$ y3 y% E) ~$ L( f. 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),这属于非法赋值6 c( `* s5 x5 b$ c7 z" J
    所以应该修改成:A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2)
    , k8 p4 i# n6 v/ Y4 v4 S3 e+ {2.不论是写成A(k),还是A(k,1),只要达到能表示向量的目的就行了,因为差分方程研究的是一个向量,而非一个矩阵$ d: U4 m- j" P; ^$ j' x
    3.例子:这个就比较多了,根据差分方程的不同,主要改变的是上面的函数中的条件式子,但要始终注意赋值的合法性。
    回复

    使用道具 举报

    23

    主题

    5

    听众

    215

    积分

    升级  57.5%

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

    [LV.2]偶尔看看I

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    新人进步奖

    厚积薄发 发表于 2009-12-25 12:08
      n6 G' o5 @$ Z8 y1.出现error:A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);因为你的等式右边出现了A(k),这属于非法赋值( H+ L% t* y, k1 W  s$ v
    所以应该修 ...

    ' H& `0 B" A; B: n2 D1 \谢谢谢  我终于明白了
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-7-11 20:22 , Processed in 0.441587 second(s), 80 queries .

    回顶部