matlab主函数子函数怎么写( 二 )


变量作用域: 通常,函数的工作区只对其自身可见,其他函数不能访问 。但对于嵌套函数而言,处于内层的函数可以访问外层函数的工作区(例如,nestfun2可以访问varScope1的局部变量x),反之则不可以 。
3. matlab中,怎么样在主函数里调用子函数 matlab可以在m文件函数中定义一个函数和多个子函数,但是需要注意的是子函数只能由同一m文件中的函数调用 。如下面的例子:
【matlab主函数子函数怎么写】function [max,min]=mypfun(x) %主函数
n=length(x);
max=mysubfun1(x,n);
min=mysubfun2(x);
function r=mysubfun1(x,n) %子函数1
x1=sort(x);
r=x1(n);
function r=mysubfun2(x) %子函数2
x1=sort(x);
r=x1(1);
4. matlab中主函数下面怎么添加子函数 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

matlab主函数子函数怎么写

文章插图