matlab主函数如何调用子函数

我编写了一个matlab子函数是关于龙格库塔计算的主函数内容为:formatlongi=145;t=i*0.001;x=zeros(2,1);x(1,1)=35;f=t*... 我编写了一个matlab子函数是关于龙格库塔计算的
主函数内容为:
format long
i=145;
t=i*0.001;
x=zeros(2,1);
x(1,1)=35;
f=t*sin(x(1,1));

x(2,1)=Runge_Kutta(x(1,1));
子函数内容为:

function x1=Runge_Kutta(x)
%Runge-Kutta积分方法解算
T=0.01;
%设周期是0.01秒,具体的计算中再修改
f(x,t)=t*sin(x);
%先假设f(x,t)是一个这样的函数,具体函数在具体问题中再修改
x=x(1,1);
%x先假设一个值,到具体问题时再具体输入修改
K1=t*sin(x);
K2=(t+T/2)*sin(x+K1/2);
K3=(t+T/2)*sin(x+K2/2);
K4=(t+T)*sin(x+K3);
x1=x+(T/6)*(K1+2*K2+2*K3+K4);
%龙格库塔方法计算过程

在计算过程中提示出现的问题是Error in ==> diaoyong1 at 8
x(2,1)=Runge_Kutta(x(1,1));
请问在调用子程序时该怎么样修改这两个函数,谢谢
谢谢 zcy_179的回答,我还有一个问题
就是这个f函数可不可以放在子程序里面,
在他的回答中放到了主程序中,如果可以该怎么设置,谢谢
展开
 我来答
过客守望者
推荐于2017-10-09 · TA获得超过1.2万个赞
知道小有建树答主
回答量:854
采纳率:91%
帮助的人:63.9万
展开全部

MATLAB如何成功的编辑存放并成功调用子函数:

1、当你没有把你编辑好的子函数放入正确的文件夹时,不管你输入的程序是否有错,当你执行时,系统都会提示“没有定义”,这个时候就是没有子函数文件放到主函数库文件夹中,如图所示。

2、就算知道了,这个问题那么主函数库文件夹在什么地方找呢?首先,输入“edit conv”这个“conv”是我准备编辑的子函数的主函数名,每个人所需的主函数名都不一样,这里可以不要那么在意。然后就可以打开相应的主函数,这是可以看到主函数所在文件夹位置。如图所示,※记住这个位置。

3、然后进行子函数的编辑,首先新建一个新的m文件,如图操作所示,然后在编辑框中输入所要的子函数,如图所示,例如我就是输入了convnem的函数,这是conv的子函数。然后点击保存。

4、接下来,在刚刚第二步“conv”所在文件位置,将位置记录下来,将子函数的文件保存到主函数所在的文件夹即可,然后在重新的将你所需的程序(含有子函数的)输入并且执行,这时你会发现原来提示的错误没有了,那么这时调用自己添加的子函数成功了。以后有相应的子函数都可以通过这样的方法进行添加子函数。

zcy_179
推荐于2017-09-07 · TA获得超过294个赞
知道答主
回答量:53
采纳率:0%
帮助的人:42.9万
展开全部
function main
format long
i=145;
t=i*0.001;
x=zeros(2,1);
x(1,1)=35;
f=t*sin(x(1,1));

x(2,1)=Runge_Kutta(t,x(1,1))

%子函数内容为:
function x1=Runge_Kutta(x)
%Runge-Kutta积分方法解算
T=0.01;
%设周期是0.01秒,具体的计算中再修改
%f(x,t)=t*sin(x); %这个语句肯定有问题,不起作用,所以注销掉
%先假设f(x,t)是一个这样的函数,具体函数在具体问题中再修改
x=x(1,1);
%x先假设一个值,到具体问题时再具体输入修改
K1=t*sin(x);
K2=(t+T/2)*sin(x+K1/2);
K3=(t+T/2)*sin(x+K2/2);
K4=(t+T)*sin(x+K3);
x1=x+(T/6)*(K1+2*K2+2*K3+K4);
%龙格库塔方法计算过程

以上计算的结果为
x =
35.000000000000000
34.999399730655441
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Paradise1022
2011-02-13 · TA获得超过434个赞
知道小有建树答主
回答量:230
采纳率:0%
帮助的人:268万
展开全部
其实你这个程序非常简单的顺序,完全可以不用子函数……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shindou5
2011-02-15
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
共同学习。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式