| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 917 人关注过本帖
标题:求助,matlab编程问题,我自己编了个小程序,不能达到预期结果,请教高手
取消只看楼主 加入收藏
Ave000
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-11-17
结帖率:0
收藏
 问题点数:0 回复次数:0 
求助,matlab编程问题,我自己编了个小程序,不能达到预期结果,请教高手
程序:
function rk(A,x,h,y0)
i=1;
y(i,:)=y0;
m=length(A);
b=x(length(x));
while x(i)<b
     a=[x(i),y(i,:)];
    for l=1:m
         k1(l)=eval(A{l},a);
    end
     a=[x(i)+h/2,y(i,:)+h/2*k1];
    for l=1:l
         k2(l)=eval(A{l},a);
    end
     a=[x(i)+h/2,y(i,:)+h/2*k2];
    for l=1:m
         k3(l)=eval(A{l},a);
    end
     a=[x(i)+h,y(i,:)+h*k3];
    for l=1:m
         k4(l)=eval(A{l},a);
    end
     y(i+1,:)=y(i,:)+h/6*(k1+2*k2+2*k3+k4);
     i=i+1;
end
y,k1,k2,k3,k4
运行结果:
y1='-10*a(2)-9*a(3)+8';
y2='-9*a(2)-8*a(3)+7';
A=[{y1},{y2}];
rk(A,0:0.05:1,0.05,ones(1,2))

y =

    1.0000    1.0000
    0.6417    0.6716
    0.4972    0.5345
    0.4403    0.4758
    0.4193    0.4491
    0.4129    0.4356
    0.4126    0.4275
    0.4148    0.4216
    0.4181    0.4166
    0.4217    0.4120
    0.4255    0.4075
    0.4294    0.4030
    0.4334    0.3986
    0.4373    0.3941
    0.4413    0.3897
    0.4453    0.3852
    0.4493    0.3807
    0.4533    0.3762
    0.4574    0.3717
    0.4614    0.3672
    0.4655    0.3627


k1 =

    0.0809   -0.0904


k2 =

    0.0811   -0.0906


k3 =

    0.0811   -0.0906


k4 =

    0.0812   -0.0907
我想把中间的K1,k2,k3,k4都显示出来,该怎么做啊,请教赐教
搜索更多相关主题的帖子: matlab 结果 
2009-11-17 15:41
快速回复:求助,matlab编程问题,我自己编了个小程序,不能达到预期结果,请教高 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044269 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved