Matlab-函数编写规则
1 Matlab的函数编写需要注意的是.m的文件名需要与内部的函数名保持一致,否则会报出未定义函数或变量的错误
2 全局变量声明一般放在函数之前
global var1 var2 ....
3 随机数产生
rand 产生一个随机数
rand(n) 产生一个 n×n 的随机数数组
rand(n, m) 产生一个 n×m 的随机数数组
rand 用于产生等可能的随机数
randn 用于产生普通的随机数
4 持久变量定义,持久内存(persistent memory)是内存的一种类型,在函数上一次调用之后,这一步调用之前,本地变量被保存在持久内存,值不变,如计算函数被调用的次数会用到
persistent var1 var2 var3 ...
5 函数的函数
(1)fzero:用于找到传递给它的函数值为 0 时的自变量
>> fzero('cos',[0 pi])
ans = 1.5708
(2)eval: eval(string),对一个字符串进行求值,就如它在命令窗口中已经键入了一样
>>string='sin(pi/4)'
>>x = eval(string)
x = 0.7071
(3)feval:用一个特定的输入值对命名的函数进行求值
>> x = feval('sin',pi/4)
x = 0.7071
6 子函数或中间函数
在一个单个的文件中我们可以创建多个函数。如果超过 1 个的函数出现在一个文件中,那么最上面的那个函数为普通函数,下面的函数称为子函数或中间函数。子函数看起来和普通函数一样,但是只能被同一文件中的函数调用。
私有函数:在目录中新建一个private的子目录,里面存放个人的私有函数。
在一个 M 文件中,调用一个函数,MATLAB 先检查看他是否是一个子函数。如果它不
是那就检查它是不是一个私有函数。如果也不是私有函数,MATLAB 就会检它在不在标搜
索路径中。
7 信息提示
error: 显示错误信息,并中止函数以免它产生这个错误。如果参数错误是致命的,这
个函数将会被调用。
warning: 显示警告信息并继续执行函数,如果参数错误不是致命的,执行还能继续,则
这个将会被调用。
nargin:这个函数返回调用这个函数时所需要的实际输入参数的个数
nargout: 这个函数返回调用这个函数时所需要的实际输出参数的个数
nargchk: 如要一个函数调用被调用时参数过多或过少,那么 nargchk 函数将返回一个标
准错误信息
inputname: 这个函数将会返回对于特定参数个数的实际变量名。
1 笛卡尔坐标系转换成极坐标
函数编写:
rect2polar.m:笛卡尔坐标系转换成极坐标
%%
%笛卡尔坐标系转换成极坐标
% Define variables:
% r --Length of polar vector
% theta --Angle of vector in degrees
% x --x-position of point
% y --y-position of point function [r,theta]=rect2polar(x,y)%检查输入参数的个数是否合法,1和2个参数是允许的msg = nargchk(1,2,nargin); error(msg); %如果y没有给出输入,则设定为0if nargin < 2 y = 0; end%如果输入参数均为0,提示无意义的计算if x==0 & y==0msg='两个参数均为0,计算结果无意义';warning(msg);end r=sqrt(x.^2+y^2);%如果有两个参数则返回角度,否则只返回摸%函数中检查 nargout 的原因是为了防止无用的工作,避免浪费算力if nargout==2theta=180/pi*atan2(y,x);end
end
调用:
在命令行窗口输入:
>> [r, theta]=rect2polar(4,3)r =5theta =36.8699>> [r, theta]=rect2polar(4)r =4theta =0>> [r, theta]=rect2polar(0)
警告: 两个参数均为0,计算结果无意义
> In rect2polar (line 19) r =0theta =0>> [r, theta]=rect2polar()
错误使用 rect2polar (line 12)
输入参数的数目不足。>> [r, theta]=rect2polar(4,3,1)
错误使用 rect2polar
输入参数太多。
2 极坐标转换成笛卡尔坐标系
函数编写:
%%
%极坐标转换成笛卡尔坐标系
% Define variables:
% r --Length of polar vector
% theta --Angle of vector in degrees
% x --x-position of point
% y --y-position of point
function [x,y]=polar2rect(r,theta)x=r*cos(theta*pi/180);y=r*sin(theta*pi/180);
end
调用:
在命令行窗口输入:
>> [x, y]= polar2rect(5,36.8699) x =4.0000y =3.0000
Matlab-函数编写规则相关推荐
- matlab输入数据作方程,用MATLAB函数编写并求解微分方程
实验八:用MATLAB 函数编写并求解微分方程 一.实验原理 为了对连续系统进行方针,首先需要建立其数学模型,然后利用计算机求这些数学模型,从而得出数学模型的数值解.由于连续系统是通过微分方程老建模的 ...
- matlab利用函数 编程求,MATLAB 函数编写方法与应用
试探结构: MATLAB 从 5.2 版本开始提供了一种新的试探式语句结构,其一般的形式为: try 语句段1 catch 语句段2 end 本语句结构首先试探性地执行语句段 1,如果在此段语句执行过 ...
- MATLAB --函数编写与调用
本文来源于网络,作者Yasist,如有侵权请联系小编微信:leeing137 之前写code都是将所有的实现放在同一个.m文件,导致程序很混乱冗长,过了几天容易忘记,不便于后期修改维护,于是开始学习将 ...
- 【 MATLAB 】序列的奇偶分解的 MATLAB 函数编写实践
序列 x(n)的奇偶分解的公式为: 编写一个序列 x(n) 的奇偶分解式 xe(n) 和 xo(n),需要考虑的问题是序列长度,下标的变化. 这里必须做个声明,下面的程序中用到了前几篇博客中的几个函数 ...
- matlab函数编写实例,Matlab代写代做常见函数调用实例
对于已经接触过matlab编程软件的留学生们来说,它能够帮助我们实现在算法开发.数据分析以及交互环境等多方面的效果,在matlab当中我们能够将不同的语句调用到一起来执行,这也是我们所说的函数,那么在 ...
- matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计.doc
实验四:函数编写与程序设计 一.实验目的1 . 掌握M文件的创建. 2.掌握函数的编写规则. 3.掌握函数的调用. 4 . 掌握基本的输入输出函数以及显示函数的用法. 5.会用Matlab程序设计实现 ...
- matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计
<matlab实验四函数编写与程序设计>由会员分享,可在线阅读,更多相关<matlab实验四函数编写与程序设计(8页珍藏版)>请在金锄头文库上搜索. 1.实验四:函数编写与程序 ...
- 【转】Linux下c++调用自己编写的matlab函数:通过mcc动态链接库.so实现
转自:Linux下c++调用自己编写的matlab函数:通过mcc动态链接库.so实现_Jaster_wisdom的专栏-CSDN博客 之前在这里和这里调用了matlab自带的一些函数,是通过matl ...
- matlab中ode指令,matlab中ode5函数编写.doc
matlab中ode5函数编写 function varargout = ode45(ode,tspan,y0,options,varargin) %ODE45 Solve non-stiff dif ...
- matlab实验函数编写与程序设计,实验二MATLAB程序设计.doc
实验二 MATLAB程序设计 实验目的 1.掌握利用if语句实现选择结构的方法. 2.掌握利用switch语句实现多分支选择结构的方法. 3.掌握利用for语句实现循环结构的方法. 4.掌握利用whi ...
最新文章
- Deep Learning-论文翻译以及笔记
- Undefined exploded archive location Tomcat之项目不能发布
- northstar机器人编程_《机器人构建实战》——导读
- ue4材质节点大全_转载于知乎:UE4 多象限(UDIM)贴图在UE4中的应用
- CentOS7.1 KVM虚拟化之经常使用管理虚拟机命令(3)
- react笔记组件属性传递机制(四)
- python库测试记录(sys、time、datetime、random、hashlib)
- 横琴今年建物联网基础设施
- android tab之间滑动切换界面功能
- (1)非对称加密——RSA——史上最通俗的小白可看懂!
- 埃及金字塔之谜最完美的解释
- Multisim: Inverting Amplifier Simulation
- 利用数据质量规则库推动数据质量管理
- 数字图像处理——图像边缘检测
- 关于python中矩阵相乘需要注意的事情
- 2019全球IT行业薪酬报告:平均年薪超70万!最高薪职位竟是...
- LC - P03 机器人大冒险
- [异能程序员]第六章 遛狗(第二更)
- 如何做好软文推广?软文推广有哪些宣传平台值得推荐
- 重力感应贪吃蛇(C51 MPU6050 8*8LED点阵)