matlab 如何建立、调用自定义函数? matlab怎么建立自定义函数

MATLAB\u5982\u4f55\u8c03\u7528\u81ea\u5b9a\u4e49\u51fd\u6570\uff1f

\u4e4b\u6240\u4ee5\u4f1a\u51fa\u73b0\u8fd9\u4e2a\u9519\u8bef\u662f\u56e0\u4e3a\u4f60\u7684\u81ea\u5b9a\u4e49\u51fd\u6570\u4e2dx\u8fd8\u6ca1\u6709\u6307\u5b9a\uff0c\u770b\u4f60\u4ee3\u7801\u7684\u610f\u601d\uff0c\u4f60\u662f\u8981\u5b9a\u4e49x = count\u5427\uff0c\u53ef\u4ee5\u5728\u81ea\u5b9a\u4e49\u51fd\u6570\u7684\u6700\u540e\u52a0\u4e0a\u8fd9\u53e5\u3002\u8fd9\u6837\u5c31\u6ca1\u6709\u95ee\u9898\u4e86

matlab\u4e2d\u5b9a\u4e49\u51fd\u6570\u7684\u65b9\u5f0f\u6709\u4ee5\u4e0b\u51e0\u79cd\uff1a

1\u3001\u51fd\u6570\u6587\u4ef6+\u8c03\u7528\u51fd\u6570\u6587\u4ef6\uff1a\u5b9a\u4e49\u591a\u4e2aM\u6587\u4ef6\u3002
% \u8c03\u7528\u51fd\u6570\u6587\u4ef6:myfile.m
clear
clc
for x=1:10
y=mylfg(x);
end
%\u81ea\u5b9a\u4e49\u51fd\u6570\u6587\u4ef6: mylfg.m
function y=mylfg(x) %\u6ce8\u610f\uff1a\u51fd\u6570\u540d\uff08mylfg\uff09\u5fc5\u987b\u4e0e\u6587\u4ef6\u540d\uff08mylfg.m\uff09\u4e00\u81f4
Y=3*x+1;
\u6ce8\uff1a\u8fd9\u79cd\u65b9\u6cd5\u8981\u6c42\u81ea\u5b9a\u4e49\u51fd\u6570\u5fc5\u987b\u5355\u72ec\u5199\u4e00\u4e2aM\u6587\u4ef6\uff0c\u4e0d\u80fd\u4e0e\u8c03\u7528\u7684\u547d\u4ee4\u6587\u4ef6\u5199\u5728\u540c\u4e00\u4e2aM\u6587\u4ef6\u4e2d\u3002
2\u3001\u51fd\u6570\u6587\u4ef6+\u5b50\u51fd\u6570\uff1a\u5b9a\u4e49\u4e00\u4e2a\u5177\u6709\u591a\u4e2a\u5b50\u51fd\u6570\u7684M\u6587\u4ef6\u3002
%\u547d\u4ee4\u6587\u4ef6\uff1afuntry2.m
function []=funtry2()
for x=1:10
y=lfg2(x);
End
function y=lfg2(x)
Y= 3*x+1;
%\u6ce8\uff1a\u81ea\u5b9a\u4e49\u51fd\u6570\u6587\u4ef6funtry2.m\u4e2d\u53ef\u4ee5\u5b9a\u4e49\u591a\u4e2a\u5b50\u51fd\u6570function\u3002\u5b50\u51fd\u6570lfg2\u53ea\u80fd\u88ab\u4e3b\u51fd\u6570\u548c\u4e3b\u51fd\u6570\u4e2d\u7684\u5176\u4ed6\u5b50\u51fd\u6570\u8c03\u7528\u3002
3\u3001Inline\u5185\u8054\u51fd\u6570:\u65e0\u9700M\u6587\u4ef6\uff0c\u76f4\u63a5\u5b9a\u4e49\u3002
%inline\u547d\u4ee4\u7528\u6765\u5b9a\u4e49\u4e00\u4e2a\u5185\u8054\u51fd\u6570\uff1af=inline(\u2018\u51fd\u6570\u8868\u8fbe\u5f0f\u2019, \u2018\u53d8\u91cf1\u2019,\u2019\u53d8\u91cf2\u2019,\u2026\u2026)\u3002
\u8c03\u7528\u65b9\u5f0f\uff1ay=f(\u6570\u503c\u5217\u8868) %\u6ce8\u610f\uff1a\u4ee3\u5165\u7684\u6570\u503c\u5217\u8868\u987a\u5e8f\u5e94\u4e0einline()\u5b9a\u4e49\u7684\u53d8\u91cf\u540d\u987a\u5e8f\u4e00\u81f4\u3002
\u4f8b\u5982\uff1a
f=inline(\u20183*x+1\u2018\uff0c\u2019x\u2019);
z=f(2)
Ans=7
\u6ce8\uff1a\u8fd9\u79cd\u51fd\u6570\u5b9a\u4e49\u65b9\u5f0f\u662f\u5c06\u5b83\u4f5c\u4e3a\u4e00\u4e2a\u5185\u90e8\u51fd\u6570\u8c03\u7528\u3002\u7279\u70b9\u662f\uff0c\u5b83\u662f\u57fa\u4e8eMatlab\u7684\u6570\u503c\u8fd0\u7b97\u5185\u6838\u7684\uff0c\u6240\u4ee5\u5b83\u7684\u8fd0\u7b97\u901f\u5ea6\u8f83\u5feb\uff0c\u7a0b\u5e8f\u6548\u7387\u66f4\u9ad8\u3002 \u7f3a\u70b9\u662f\u8be5\u65b9\u6cd5\u53ea\u80fd\u5bf9\u6570\u503c\u8fdb\u884c\u4ee3\u5165\uff0c\u4f46\u662f\u4e0d\u652f\u6301\u7b26\u53f7\u4ee3\u5165\uff0c\u4e14\u5bf9\u5b9a\u4e49\u540e\u7684\u51fd\u6570\u4e0d\u80fd\u8fdb\u884c\u6c42\u5bfc\u7b49\u7b26\u53f7\u8fd0\u7b97\u3002

函数文件需要在编辑器中提前编好程序。点击上面的黄色“+”号,有一个function,点开就可以编写函数。

我的是中文版,和你的对照着可以

函数文件不可以直接运行,必须保存为m文件后,在你的主程序内调用,平常用的很多函数都是这么用的,比如说求余函数 rem(x,y) ,如果没有x,y的实际值是没有函数的实际意义的。

附上我以前的一些简单的自定义函数吧。

记得一定要保存m文件在调用



建立一个函数的M文件步骤:
1,在命令窗口中输入edit,弹出一个函数编辑框用于你自定义一个函数
2,函数的建立:格式为function空格f=myfun(x,y),这里f是你函数的输出,myfun是你这个函数的函数文件名(这个名字你可以自己随便订的),然后括号里边的就是你的输入。如这个函数:
function f=myfun(x1,x2)
f=x1*x2(这个是你的函数的功能,及表达式)你构造好这个函数后,点击save,保存,注意这里有一个地方需要特别注意,你保存的是一个M文件,我们在命令窗口里调用的都是M文件,所以如果你要调用你上边构造的那个函数,你最后让你这个M文件的名字跟你上边的函数文件名相同,即这里保存的 M文件名你应该取名为myfun,保存好,记住你保存的路径。
3,这一步就是你调用你上边构造的那个函数了.首先,你在你的MATLAB种把当前路径选择为你刚才保存的那个M文件的路径(如此你才可以调用你所构造的函数,不然读取不到,会报错) 调用格式为你保存的M文件的文件名。比如,你先在命令窗口中赋值x1,X2令x1=2,x2=4;然后输入函数文件名myfun,则输出结果为x1*x2=2*4=8即ans=8。希望对你有帮助!

新建一个m文件 在m文件里面第一行输入function [X,Y]=pll(X1,Y1,X2,Y2),这里x1 x2 y1 y2是你函数的输入值, x y是输出值,接着定义你要实现的功能,比如:x = x1 + x2; y = y1 + y2; 接着保存这个m文件,注意!! 这个m文件的名字必须是定义的函数的名字,即保存为pll.m 否则会出错。

接着在matlab命令窗口中输入 pll(1,2,3,4)看看会得到什么? 也可以另外创建一个m文件,在这里调用pll()这个函数。

不知道我说清楚了没。。。。我没有调试过,希望不会报错 -。-

新建一个M文件,在Editor编辑器中输入函数function [X,Y]=pll(X1,Y1,X2,Y2)以及其欲实现的功能,保存,然后在另外一个M文件中就可以调用这个函数,在命令窗口中不能实现调用。
我初学,我就是这样用的,并且那个自定义了函数的M文件与调用此函数的M文件须在同一存储路径下

我也是这个问题,但是这个是因为你在这里只是定义一个function,没有给里面的参数定义所以会出现错误,你在别的M文件中直接调用这个函数,参数匹配就没有问题。我的已经调好了,你加油!

扩展阅读:中国哪些高校matlab被禁 ... matlab将图片转化为灰度 ... matlab不建议高版本 ... matlab好久没用打不开了 ... matlab调用另一个m文件 ... matlab被禁用高校名单 ... matlab新建函数怎么调用 ... 为什么matlab脚本运行不了 ... matlabm文件怎么调用 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网