matlab自定义函数的五种表示(前2种重点)
1.命令文件/函数文件+函数文件:多个M文件
2.函数文件+子函数:一个M文件
3. inline:无需M文件
4.符号表达式+subs方式:无需M文件
5.字符串+subs方式:无需M文件
第一种:命令文件/函数文件+函数文件
%命令/函数文件:myfile1.m
clear
for t=1:10
y=mylfg(t);
fprintf('%4d^(1/3) = %6.4f\n',t,y);
end
%函数文件:mylfg.m
function y = mylfg(x)
y=x^(1/3);
NOTE:
1.函数调用时注意实参与形参的匹配
2.函数必须单独写在一个文件!
不你能与命令文件写在同一个文件中。
3.函数名最好与文件名一致。
第二种方式:函数文件+子函数
%函数文件:funtry2.m
fumction [] = funtry2()
for t= 1:10
y=lfg2(t);
fprintf('%4d^(1/3) %6.4f\n',t,y);
end
%%子函数
function y = lfg2(x)
y =x^(1/3);
NOTE:
函数文件中可以定义一个或多个子函数,此时我们称该函数为主函数,子函数只能被主函数或同一个函数文件中的其他函数调用。
疑问:方式一中的函数文件与方式二种的主函数如何区别呢????是一个概念吗???
方式三:inline+命令/函数文件
1.inline命令可以用来定义一个内联函数
f = inline('函数表达式',‘变量1’,‘变量2’,....)
2.调用方式:y=f(数值列表)
带入的数值列表顺序应与定义时的变量名顺序一致
eg: f = inline('x^2+y','x','y');
z = f(2,3);
z =7
优点:运算速度快
缺点:1.占用内存多2.只能对数值带入不能进行求导等符号运算
方式四:syms + subs
syms定义一个符号表达式,用subs命令调用
syms f x %定义符号
f =1/(1+x^2); %定义符号表达式
subs(f,'x',代替x的数值或符号)
优点:可以用符号替换
缺点:运算速度低
方式五:字符串 + subs
直接定义一个字符串,用subs命令完成调用
f= ' 1/(1+x^2)'
z=subs(f,'x',2)
g = subs(f,'x','y^2')
优点:占用内存少,格式方便自由
最新文章
- AVEVA Model Data Exchange Exports Structure Models
- webdriver的工作原理
- 获取action name在asp.net mvc
- 初学者用div+css结构写网页的几个误区
- MySql中时间类型总结
- Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
- 15_动态SQL
- Linux命令初步了解
- 修改合同号的bapi
- 读书笔记 effective c++ Item 6 如果你不想使用编译器自动生成的函数,你需要明确拒绝
- 微信小程序 获取OpenId
- enumerate给列表加序号
- Python调用ansible API系列(三)带有callback的执行adhoc和playbook
- JavaScript Node节点笔记
- win2016 配置IIS 和mysql5.7 迁移数据表的两个小坑
- “The subscription does not exist” when a distributor primary replica fails over to a replica that does not use the same agent profile
- Gartner2017年BI研究计划曝光,来看看他研究的都是啥?
- JavaScript设计模式 - 订阅发布模式(观察者模式)
- npm http-server ubuntu
- [翻译] AAPullToRefresh
热门文章
- 弹射起步~django
- 决斗(Headshot )
- Hdu 4778 Gems Fight! (状态压缩 + DP)
- Seek the Name, Seek the Fame POJ - 2752
- Finally语句
- 522 Longest Uncommon Subsequence II 最长特殊序列 II
- 02.第二章_C++ Primer学习笔记_变量和基本类型
- P3742 umi的函数
- (5)《Head First HTML与CSS》学习笔记---布局与定位
- Java网络编程学习笔记