如果你的主程序是普通的m程序,不是function,而子程序是function,这两个程序是不能写在一起的
举个例子:
%主程序
a=1
b=2
c=addfun(a,b)
% 子程序
function c=addfun(a,b)
c=a+b;
return
以上是不能写在一个m文件里的。
但是
function mainfun()
clc
a=1
b=2
c=addfun(a,b)
% 子程序
function c=addfun(a,b)
c=a+b
return
这样子时可以的,可以直接运行。不过当程序运行结束后,你将无法查看主程序和子程序的变量的值。
给你个例子stat.m:function [mean,stdev] = stat(x)
n = length(x)
mean = avg(x,n)
stdev = sqrt(sum((x-avg(x,n)).^2)/n)
function mean = avg(x,n)
mean = sum(x)/n
在同一个.m文件中,定义了两个函数,其中stat(x)为主函数,avg(x,n)为子函数,主函数调用子函数
主函数必须与.m文件同名,子函数必须跟在主函数或其他子函数后
主函数在此文件外可见,子函数不可见,即主函数全局,子函数非全局
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)