MATLAB中如何在M文件中调用自定义函数
答案:2 悬赏:20
解决时间 2021-04-09 21:33
- 提问者网友:樱花树下最美的约定
- 2021-04-08 23:30
我用matlab学习梯形法求定积分,把要求的函数定义为f1.m
function y=f1(x)
y=exp(-x*x);
我在另一个M文件ts.m中计算f1在0-1上面的定积分:
a=0;
b=1;
n=1;
h=b-a;
eps=0.00001;
syms x
I1=h*(f1(a)+f1(b));
while (n<1000)
for k=0:n-1
I=I1/2+h/2*f1(a+k*h+h/2);
end
if abs(I-I1) break
end
n=n+n;
h=h/2;
I1=I;
end
I
为什么报错
最佳答案
- 二级知识专家网友:恕我颓废
- 2021-04-09 00:39
n 1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件;
n 2、函数文件+子函数:定义一个具有多个自定义函数的M文件;
1、函数文件+调用函数文件:定义多个M文件:
% 调用函数文件:myfile.m
clear
clc
for t=1:10
y=mylfg(t);
fprintf(‘M^(1/3)=%6.4f\n’,t,y);
end
%自定义函数文件: mylfg.m
function y=mylfg(x) %注意:函数名(mylfg)必须与文件名(mylfg.m)一致
Y=x^(1/3);
注:这种方法要求自定义函数必须单独写一个M文件,不能与调用的命令文件写在同一个M文件中。
2、函数文件+子函数:定义一个具有多个子函数的M文件
%命令文件:funtry2.m
function []=funtry2()
for t=1:10
y=lfg2(t)
fprintf(‘M^(1/3)=%6.4f\n’);
End
function y=lfg2(x)
Y= x^(1/3);
%注:自定义函数文件funtry2.m中可以定义多个子函数function。子函数lfg2只能被主函数和主函数中的其他子函数调用。
全部回答
- 1楼网友:初心未变
- 2021-04-09 01:39
如果是自定义的函数的话,可以用file-new-function来建立。里面有建立函数的模版,然后保存后就是.m文件了。
如果只是要建立可以顺序执行的程序的.m文件,只需要在command window里输入edit,再保存即可。
不知道有没有解答你的疑问,欢迎追问~
我要举报
大家都在看
推荐资讯