数学建模社区-数学中国

标题: 紧急!请教一个matlab问题 [打印本页]

作者: 枫回路转    时间: 2009-6-10 11:00
标题: 紧急!请教一个matlab问题
function xdot=shier(t,x)
a=0.01;
xdot=[(2-a*x(2)).*x(1);(-1+a*x(1)).*x(2)];

ts=0:0.1:15;
    x0=[300,150];
    [t,x]=ode23('shier',ts,x0);[t,x],
    plot(t,x),grid,gtext('x(t)'),gtext('f(t)'),
    pause,
    plot(x(:,1),x(:,2)),grid,
我运行了,但一直提示未定义x
高手帮忙啊。
作者: mrx    时间: 2009-6-10 12:11
没有问题啊,首先定义m文件,然后运行
ts=0:0.1:15;
    x0=[300,150];
    [t,x]=ode23('shier',ts,x0);[t,x],
    plot(t,x),grid,gtext('x(t)'),gtext('f(t)'),
    pause,
    plot(x(:,1),x(:,2)),grid,
运行结果
untitled.jpg
ans =
         0  300.0000  150.0000
    0.1000  310.2387  184.3450
    0.2000  308.6067  227.5985
    0.3000  292.7688  278.5926
    0.4000  263.2902  333.2592
    0.5000  224.4162  385.0020
    0.6000  182.4585  426.9149
    0.7000  143.2651  454.3919
    0.8000  110.3084  466.4394
    0.9000   84.4936  464.9824
    1.0000   65.1604  453.2371
    1.1000   51.0330  434.5108
    1.2000   40.8177  411.5467
    1.3000   33.4470  386.4073
    1.4000   28.1184  360.5242
    1.5000   24.2578  334.8442
    1.6000   21.4640  309.9672
    1.7000   19.4598  286.2549
    1.8000   18.0543  263.9089
    1.9000   17.1159  243.0249
    2.0000   16.5565  223.6262
    2.1000   16.3176  205.6939
    2.2000   16.3604  189.1810
    2.3000   16.6660  174.0232
    2.4000   17.2234  160.1474
    2.5000   18.0355  147.4733
    2.6000   19.1196  135.9312
    2.7000   20.4937  125.4510
    2.8000   22.1850  115.9552
    2.9000   24.2356  107.3797
    3.0000   26.6897   99.6613
    3.1000   29.6093   92.7463
    3.2000   33.0636   86.5866
    3.3000   37.1343   81.1394
    3.4000   41.9219   76.3726
    3.5000   47.5340   72.2586
    3.6000   54.1059   68.7844
    3.7000   61.7770   65.9422
    3.8000   70.7183   63.7457
    3.9000   81.1009   62.2160
    4.0000   93.1208   61.4094
    4.1000  106.9687   61.3934
    4.2000  122.8183   62.3015
    4.3000  140.8273   64.2987
    4.4000  161.0449   67.6449
    4.5000  183.4188   72.6906
    4.6000  207.6195   79.9629
    4.7000  232.9878   90.1794
    4.8000  258.3297  104.3254
    4.9000  281.6921  123.6977
    5.0000  300.2902  149.8268
    5.1000  310.6166  184.1830
    5.2000  309.0228  227.5048
    5.3000  293.1752  278.5718
    5.4000  263.6744  333.3456
    5.5000  224.7128  385.2315
    5.6000  182.6451  427.2722
    5.7000  143.3545  454.8329
    5.8000  110.3249  466.9180
    5.9000   84.4650  465.4504
    6.0000   65.1100  453.6728
    6.1000   50.9717  434.9054
    6.2000   40.7534  411.8942
    6.3000   33.3835  386.7083
    6.4000   28.0572  360.7820
    6.5000   24.1993  335.0632
    6.6000   21.4081  310.1518
    6.7000   19.4060  286.4095
    6.8000   18.0017  264.0379
    6.9000   17.0638  243.1309
    7.0000   16.5049  223.7118
    7.1000   16.2651  205.7622
    7.2000   16.3071  189.2338
    7.3000   16.6105  174.0621
    7.4000   17.1672  160.1758
    7.5000   17.9778  147.4947
    7.6000   19.0583  135.9460
    7.7000   20.4266  125.4567
    7.8000   22.1111  115.9502
    7.9000   24.1548  107.3654
    8.0000   26.6019   99.6402
    8.1000   29.5117   92.7176
    8.2000   32.9566   86.5513
    8.3000   37.0149   81.0968
    8.4000   41.7893   76.3231
    8.5000   47.3861   72.2015
    8.6000   53.9405   68.7193
    8.7000   61.5930   65.8684
    8.8000   70.5120   63.6618
    8.9000   80.8732   62.1209
    9.0000   92.8667   61.2999
    9.1000  106.6914   61.2691
    9.2000  122.5164   62.1544
    9.3000  140.5052   64.1252
    9.4000  160.7131   67.4327
    9.5000  183.0737   72.4423
    9.6000  207.2876   79.6625
    9.7000  232.7042   89.8082
    9.8000  258.1065  103.8719
    9.9000  281.5872  123.1382
   10.0000  300.3794  149.1461
   10.1000  310.9267  183.3986
   10.2000  309.5745  226.6349
   10.3000  293.9649  277.6968
   10.4000  264.5836  332.6163
   10.5000  225.6129  384.7519
   10.6000  183.4347  427.1045
   10.7000  143.9736  454.9769
   10.8000  110.7690  467.3095
   10.9000   84.7735  466.0281
   11.0000   65.3038  454.3601
   11.1000   51.0877  435.6285
   11.2000   40.8169  412.6151
   11.3000   33.4119  387.4025
   11.4000   28.0622  361.4356
   11.5000   24.1884  335.6696
   11.6000   21.3857  310.7088
   11.7000   19.3750  286.9167
   11.8000   17.9643  264.4958
   11.9000   17.0216  243.5424
   12.0000   16.4570  224.0810
   12.1000   16.2126  206.0911
   12.2000   16.2492  189.5258
   12.3000   16.5476  174.3208
   12.4000   17.0957  160.4006
   12.5000   17.9005  147.6897
   12.6000   18.9734  136.1166
   12.7000   20.3317  125.6019
   12.8000   22.0081  116.0755
   12.9000   24.0383  107.4707
   13.0000   26.4708   99.7245
   13.1000   29.3660   92.7846
   13.2000   32.7892   86.5990
   13.3000   36.8284   81.1285
   13.4000   41.5748   76.3363
   13.5000   47.1452   72.1988
   13.6000   53.6647   68.6977
   13.7000   61.2815   65.8299
   13.8000   70.1583   63.6017
   13.9000   80.4722   62.0409
   14.0000   92.4183   61.1926
   14.1000  106.1820   61.1354
   14.2000  121.9573   61.9878
   14.3000  139.8824   63.9189
   14.4000  160.0433   67.1735
   14.5000  182.3574   72.1162
   14.6000  206.5651   79.2416
   14.7000  231.9880   89.2736
   14.8000  257.4728  103.1830
   14.9000  281.1288  122.2532
   15.0000  300.1625  148.0108
作者: mrx    时间: 2009-6-10 12:14
untitled.jpg
作者: 陈文龙    时间: 2009-6-10 12:21
应该把建立函数单独放在一个M文件中,然后运行后面的程序就可以了
作者: madio    时间: 2009-6-10 12:32
我运行了,没有问题,我估计你是没有把定义的函数shier,保存为M文件,所以后面没有办法调用!

untitled.jpg (36.45 KB, 下载次数: 236)

untitled.jpg


作者: lyg1234    时间: 2009-6-10 13:21
matlab中用function自定义的函数shier应该单独保存为一个m文件:shier.m

你要解决的是那个地中海鲨鱼和食用鱼所构成的食饵-捕食者模型的程序吧,一看图形就觉得眼熟,呵呵




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5