matlab自定义函数怎么用

function[a1,a2,a3]=fun1(b1,b2)b1=input('b1=');b2=input('b2=');a1=b1+b2;a2=b1*b2;a3=b1... function[a1,a2,a3]=fun1(b1,b2)
b1=input('b1=');
b2=input('b2=');
a1=b1+b2;
a2=b1*b2;
a3=b1/b2;
输出结果是ans = 5
为什么只有a1的值,怎样才能把a1,a2,a3的值都输出

希望高手指导指导,新手没有分。。。~~~~(>_<)~~~~
补充一下输入b1=2,b2=3
展开
 我来答
lhmhz
高粉答主

2017-08-25 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17024

向TA提问 私信TA
展开全部

自定义函数的格式:

function  函数名(参数)

函数表达式

end  

并保存为  函数名.m 的文件(函数名由英文和数值字组成)

下面以标准的正态分布函数为例,来建立其自定义函数。

function y =GK_fun(x)   %GK_fun.m

func=@(u)exp(-u.^2/2)/sqrt(2*pi);

y=quadgk(func,-inf,x);

end

在命令主窗口中,输入

>>x=0.5;y=GK_fun(x)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
酷呆爱死呆
推荐于2017-12-16 · TA获得超过4240个赞
知道大有可为答主
回答量:507
采纳率:100%
帮助的人:1158万
展开全部
>> [a1,a2,a3]=fun1(2,3)
b1=2
b2=3
a1 =
5
a2 =
6
a3 =
0.6667
%%%%%1楼的方法可以啊,你的函数的输出是三个结果,所以你调用的时候要和函数的形式保持一致,如果你只写了a1=fun1(2,3)输出的只是a1;
%%%%%%%%%%%%%%%%
或者你把函数改成这样:
function a=fun1(b1,b2)
b1=input('b1=');
b2=input('b2=');
a1=b1+b2;
a2=b1*b2;
a3=b1/b2;
a=[a1 a2 a3];
%%这样调用后输出直接就是a1,a2,a3
>> a=fun1(2,3)
b1=2
b2=3
a =
5.0000 6.0000 0.6667
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yudai2006
2011-05-09 · TA获得超过155个赞
知道答主
回答量:85
采纳率:0%
帮助的人:89.6万
展开全部
[a1,a2,a3]=fun1(2,3)
追问
你没理解我说的意思,我是说怎样调用这个自定义函数等让它只输出a1 a2 a3的值,而不是单独一个ans=XX或者a1 a2 a3 ans4个结果。现在ans的值等于a1的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Hui翙
推荐于2018-03-29 · TA获得超过1.2万个赞
知道小有建树答主
回答量:2350
采纳率:93%
帮助的人:156万
展开全部
Matlab自定义函数的七种方法
:
1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件。
2、函数文件+子函数:定义一个具有多个自定义函数的M文件。
3、Inline:无需M文件,直接定义。
4、匿名函数。
5、Syms+subs: 无需M文件,直接定义。
6、字符串+subs:无需M文件,直接定义。
7、直接通过@符号定义。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式