Matlab脚本和函数
脚本和函数
脚本:
特点:按照文件中所输入的指令执行,一段matlab指令集合。运行后,运算过程产生的所有变量保存在基本工作区。可以进行图形输出,如plot()函数。
举例:
脚本文件ex4_15.m:
array=zeros(,); for n=: %-32递增的循环 array(n)=rank(magic(n)); end array; bar(array)
相关函数(超链接显示详细内容):
零矩阵:X =
zeros(
n
)
返回一个 n
×n
的全零矩阵。
幻方矩阵:
M =
magic(
n
)
返回由 1
到 n
2 的整数构成并且总行数和总列数相等的 n
×n
矩阵。阶次 n
必须为大于或等于 3
的标量。
条形图:bar(
y
)
创建一个条形图,y
中的每个元素对应一个条形。如果 y
是矩阵,则 bar 根据 y
中的行对条形分组。
函数:
特点:以function开始的m文件。函数文件定义的变量为局部变量,函数执行完后清除。函数是一个“黑箱”,把数据输入进行加工处理再输出。
function [y1,...,yN] = myfun(x1,...,xM)
实例:
函数文件average.m
function y=average(x) [a,b]=size(x); if~((a==)|(b==)|((a==)&(b==))) %判断是否为向量 a,b至少有一个为1 error('必须输入向量') end y=sum(x)/length(x);
function:函数声明
y:输出参数(可以为多或者无)
x:输入参数(可以为多或者无)
相关函数(超链接显示详细内容):
数组大小:sz
=
size(
A
)
返回一个行向量,其元素包含 A
的相应维度的长度。例如,如果 A
是一个 3×4 矩阵,则 size(A)
返回向量 [3 4]
。sz
的长度为数组的维度。如果 A
是表或时间表,则 size(A)
返回由表中的行数和变量数组成的二元素行向量。
引发错误并显示消息:error(‘XXX’)
典型规范的M函数文件总结:
- 函数定义行:function引导,函数名与文件名相同,定义输入输出参数。
- H1行:紧随函数声明的第一个注释行,供lookfor查询使用。(包括大写的函数文件名和运用关键词简要描述的函数功能)
- 帮助文本:%开头的注释,通常包括输入输出的变量含义及调用说明
- 函数体:实现功能的matlab命令
规范文件[庄1] (spirallength.m)实例:
function spir_len = spirallength(d,n,lcolor)
% circle plot a circle of radius as r in the provided color and calculate
% its area 用提供的颜色绘制一个半径为r的圆,并计算其面积
% d:螺旋的旋距
% n:螺旋的圈数
% lcolor:画图线的颜色
% spir_len:螺旋的周长
% spirallength(d,n):蓝色为预设参数的螺旋线
% spirallength(d,n,lcolor):利用lcolor颜色为参数的螺旋线
% spir_len = spirallength(d,n):计算并返回螺旋线周长,利用蓝色为参数的螺旋线
% spir_len = spirallength(d,n,lcolor):计算并返回周长,利用lcolor颜色为参数的螺旋线
%编写于2019.6.4 庄林武 if nargin> %nargin为调用参数个数
error('输入参数过多!');
elseif nargin ==
lcolor= 'b'; %输入参数只有两个,不包括颜色信息,设置颜色为蓝色
end
j=sqrt(-);
phi = :pi/:n**pi;
amp = :d/:n*d;
spir = amp .*exp(j*phi);
if nargout == %nargout为调用函数返回的参数个数
spir_len =sum(abs(diff(spir)));
fill(real(spir),imag(spir),lcolor) %real(x)复数x的实部 imag(x)复数x的虚部
elseif nargout ==
plot(spir,lcolor)
else
error('输入变量过多');
end
axis('square')
相关函数(超链接显示详细内容):
平方根:B =
sqrt(
X
)
返回数组 X
的每个元素的平方根。对于 X
的负元素或复数元素,sqrt(X)
生成复数结果。
指数:Y
=
exp(
X
)
为数组 X
中的每个元素返回指数 ex。对于复数元素 z
= x
+ iy
,它返回以下复指数ez=ex(cosy+isiny) .
差分和近似导数:Y = diff(X) 计算沿大小不等于 1 的第一个数组维度的 X 相邻元素之间的差分:
数组元素总和:S = sum(A) 返回 A 沿大小不等于 1 的第一个数组维度的元素之和。
填充的二维多边形:fill(X,Y,C)
根据 X
和 Y
中的数据创建填充的多边形(顶点颜色由 C
指定)。C
是一个用作颜色图索引的向量或矩阵。
二维线图:plot(
Y
,
LineSpec
)
设置线型、标记符号和颜色。
设置坐标轴范围和纵横比:axis(
limits
)
指定当前坐标区的范围。以包含 4 个、6 个或 8 个元素的向量形式指定范围。
[庄1]理解实例需要了解螺旋图数学原理的画法(待解决)
Matlab脚本和函数的更多相关文章
- matlab中exist 检查变量、脚本、函数、文件夹或类的存在情况
参考: 1.https://ww2.mathworks.cn/help/matlab/ref/exist.html?searchHighlight=exist&s_tid=doc_srchti ...
- Matlab 之 find()函数
当我第一次用matlab语言编写一个工程项目时,发现自己编写的脚本里循环特别多,导致编程效率很低,这让我特别苦恼.有一次导师让我阅读他编写的一个Matlab脚本,并按照新要求对其进行更改.我发现脚本里 ...
- MATLAB中的函数句柄及其应用
1.函数句柄的创建 函数句柄(function handle)是MATLAB中的一类特殊的数据结构,它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++), ...
- python调用matlab脚本
在MATLAB和Python之间建个接口,从Python中调用MATLAB脚本或者是MATLAB的函数.内容不是很难,毕竟现成的接口已经有了,在这儿记录一下API使用的一些事项. 注:本篇使用的是MA ...
- matlab中patch函数的用法
http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...
- Matlab基本函数-conj函数
Matlab基本函数-conj函数 1.conj函数:用于计算复数的共轭值 2.用法说明:y=conj(x)函数计算复数x的共轭值.输出结果y的维数跟输入x的维数一致,返回值为:real(y)-i*i ...
- 【原创】Matlab.NET混合编程技巧之找出Matlab内置函数
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 Matlab与.N ...
- 【原创】Matlab.NET混合编程技巧之直接调用Matlab内置函数
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 在我的上一篇文章[ ...
- matlab画图形函数 semilogx
matlab画图形函数 semilogx loglog 主要是学习semilogx函数,其中常用的是semilogy函数,即后标为x的是在x轴取对数,为y的是y轴坐标取对数.loglog是x y轴都取 ...
随机推荐
- Springmvc request response log
Log Incoming Requests In Spring | Java Development Journalhttps://www.javadevjournal.com/spring/log- ...
- ffmpeg编译错误,提示找不到相应的shared libraries :libavdevice.so.53
解决方法:需要配置响应的环境变量,以便能找到响应的lib库 vi /etc/ld.so.conf 加入 /usr/local/lib 执行 sudo ldconfig
- ISO/IEC 9899:2011 条款5——5.2 环境上的考虑
5.2 环境上的考虑 5.2.1 字符集 5.2.2 字符显示语义 5.2.3 信号与中断 5.2.4 环境限制
- 将C++资源文件读取出来
HRSRC hResource = FindResource(GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_CALC), TEXT(&q ...
- 算法习题---5-1代码对齐(UVa1593)
一:题目 将不规范的若干行代码进行对齐.对齐按照最长字符串进行操作.见样例输入 (一)样例输入 ␣␣start:␣␣integer;␣␣␣␣//␣begins␣here stop:␣integer;␣ ...
- 报错:The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH. Please check your CLASSPATH specification, and the name of the driver.
报错背景: CDH中集成hive插件,启动报错. 报错现象: [main]: Metastore Thrift Server threw an exception... javax.jdo.JDOFa ...
- Data - 深入浅出学统计 - 下篇
本文是已读书籍的内容摘要,少部分有轻微改动,但不影响原文表达. :以漫画形式来讲解最基本的统计概念和方法. ISBN: 9787121299636 https://book.douban.com/su ...
- 最近邻与K近邻算法思想
在关于径向基神经网络的一篇博文机器学习之径向基神经网络(RBF NN)中已经对最近邻思想进行过描述,但是写到了RBF中有些重点不够突出,所以,这里重新对最近邻和K近邻的基本思想进行介绍,简洁扼要的加以 ...
- 【MPEG】DVB / ATSC / ISDB区别
硬件的区别: 欧洲“DVB标准”和美国“ATSC数字电视标准”的主要区别如下: (1)方形像素:在ATSC标准中采纳了“方形像素”(Square Picture Eelements),因为它们更加适合 ...
- PHP提高in_array查找元素的方法
PHP提高in_array查找元素的方法<pre><?php$arr = array(); // 创建10万个元素的数组for($i=0; $i<100000; $i++){ ...