MATLAB中如何在M文件中调用自定义函数

我用matlab学习梯形法求定积分,把要求的函数定义为f1.mfunctiony=f1(x)y=exp(-x*x);我在另一个M文件ts.m中计算f1在0-1上面的定积分... 我用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)<eps
break
end
n=n+n;
h=h/2;
I1=I;
end
I
为什么报错
展开
 我来答
杨好巨蟹座
2015-09-18 · TA获得超过5万个赞
知道大有可为答主
回答量:6197
采纳率:80%
帮助的人:1324万
展开全部
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只能被主函数和主函数中的其他子函数调用。
gurenliang
2007-10-23 · TA获得超过353个赞
知道答主
回答量:20
采纳率:100%
帮助的人:17.4万
展开全部
看看路径有没有设对,如果Path里面没有包含f1.m的目录,就用cd命令把这个目录加进去,用法和DOS下的一样
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式