matlab主程序和子程序怎么写到一块

matlab主程序和子程序怎么写到一块,第1张

写在一起,必须都是function,

如果你的主程序是普通的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文件同名,子函数必须跟在主函数或其他子函数后

主函数在此文件外可见,子函数不可见,即主函数全局,子函数非全局

1、在电脑桌面上打开MATLAB。

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

3、首先,输入“editconv”这个“conv”是我准备编辑的子函数的主函数名,每个人所需的主函数名都不一样,这里可以不要那么在意。然后就可以打开相应的主函数,这是可以看到主函数所在文件夹位置。如图所示,※记住这个位置。

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11217790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存