QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6013|回复: 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)
    # o% D/ A( u* p7 Z1 C  Efunction z=nd(a,v,n,r,rv)
    ( }# T* T* `$ XA=a;
    , S7 n& l) E( h, L+ i+ I7 sV=v;% @' Y$ N4 C( ~1 F8 v  C
    N=n;
    7 k" m' Y" Z0 QR=r;, L; M3 N2 f0 {. r6 d2 U7 L' O4 Z
    RV=rv;$ ~8 |, V  ^+ Z
    for k=1:N, P+ X; y- Y6 n" N
        A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);% c1 {+ J8 C4 v3 M' [
        z(1,k)=k;3 A) ^. k; J; E7 K: M
        z(2,k)=A(k);6 t% L. d  z4 E2 d" ]
    end;
    7 Z1 ~9 s) p& l+ G7 Q然后z=nd(0.2,200*10^4,360,0.02,10^4);
    3 u$ U) f. U2 ]3 x系统显示:5 D3 q3 e1 ~1 V; t! z: h- E( U
    ??? Attempted to access A(2); index out of bounds because numel(A)=1.
    2 i0 D# k3 p4 w1 G" G) ^% D& `, FError in ==> nongdu at 89 t  e# Y/ O; ?1 O2 E* X" v9 [+ b
        A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);& M8 V& @6 H) S# K- O  n3 R% ~$ j
    " v( v: i& |# k, w7 u7 A- }/ U3 L: `
    1.请问为什么啊?
    . b+ v" a( A5 c: q2.请问差分方程在matlab里边要怎么写啊,我以前写的时候都是用一维的矩阵写的,如A(n,1)。0 \$ a6 s$ x2 z: J+ f+ y; {! k
    看书上直接可以写成A(k),到底应该如何呢?
    ! C  g' ~  P" K2 ]  r3能不能有些教程或者实际的程序啊,当例子。
    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)9 L( L6 t, w0 \
    A=a;+ ~5 w* a0 D/ y# x3 o$ B
    V=v;' i* c( ^: r' g7 k4 o- q1 T( e1 [
    N=n;) z: t1 S5 X6 Z5 h, U! B5 I
    R=r;
    % H; q; z5 v. Y# HRV=rv;
    9 O9 ^, V2 t  a! M4 e5 J7 ^) wfor k=1:N/ F+ T& a3 v0 g3 A( ~
        A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);
      ]$ h+ w; a0 O    z(1,k)=k;4 c5 i! P* f4 B6 ?5 _; ^
        z(2,k)=A(k);
    # l, P$ e# G8 A4 V0 R* @$ G! Zend
    4 }" B+ Y: i* J6 K! v5 m  D: \: Z! S, y) B
    不知道这样可不可以。
    回复

    使用道具 举报

    5

    主题

    2

    听众

    806

    积分

    小学生

    升级  51.5%

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

    [LV.4]偶尔看看III

    自我介绍
    乐观、自信

    新人进步奖

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

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

    我试了一下,这样改一下就行了:
    6 P6 j6 b( j; A, P* ?3 Nfunction z=nd(a,v,n,r,rv); R' L, c4 q) F
    A(1)=a;5 e+ j: ], x5 T& I7 |7 A
    V=v;
    # `  V' j# R8 B+ FN=n;4 f- ]4 P# @- E7 S
    R=r;
    9 \1 I0 S/ A' {RV=rv;7 \* a+ @& A1 Z  O6 z8 U
    for k=1:N
    6 d: K' J. m$ F0 y, `  P    A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2);
    ) f! h8 b7 D& [" T' C3 N    z(1,k)=k;
    , x9 Z. G- c6 n/ i, v1 A9 f" G# i    z(2,k)=A(k);) _  f$ D6 g& b1 x2 C4 K0 [3 ?% i
    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),这属于非法赋值. ^; K/ c3 C* v' m
    所以应该修改成:A(k+1)=A(k)-(R*RV+V*A(k))*RV/(V^2)
    7 s3 y# W. P$ ]+ F; v. J; X2.不论是写成A(k),还是A(k,1),只要达到能表示向量的目的就行了,因为差分方程研究的是一个向量,而非一个矩阵
    7 |! _! D0 f( R" M4 [5 |3.例子:这个就比较多了,根据差分方程的不同,主要改变的是上面的函数中的条件式子,但要始终注意赋值的合法性。
    回复

    使用道具 举报

    23

    主题

    5

    听众

    215

    积分

    升级  57.5%

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

    [LV.2]偶尔看看I

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    新人进步奖

    厚积薄发 发表于 2009-12-25 12:08 6 N% F) U7 O/ }
    1.出现error:A(k)=A(k+1)+(R*RV+V*A(k))*RV/(V^2);因为你的等式右边出现了A(k),这属于非法赋值
    * s' K6 R, H7 @7 u8 X8 [3 Q所以应该修 ...

    ' c: q+ M4 d1 y$ f谢谢谢  我终于明白了
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-4-10 00:22 , Processed in 0.934929 second(s), 80 queries .

    回顶部