脚本和函数

脚本:

特点:按照文件中所输入的指令执行,一段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 到 n2 的整数构成并且总行数和总列数相等的 n×n 矩阵。阶次 n 必须为大于或等于 3 的标量。

求矩阵的秩k = rank(A) 返回矩阵 A 的秩。

条形图: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函数文件总结:

  1. 函数定义行:function引导,函数名与文件名相同,定义输入输出参数。
  2. H1行:紧随函数声明的第一个注释行,供lookfor查询使用。(包括大写的函数文件名和运用关键词简要描述的函数功能)
  3. 帮助文本:%开头的注释,通常包括输入输出的变量含义及调用说明
  4. 函数体:实现功能的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脚本和函数的更多相关文章

  1. matlab中exist 检查变量、脚本、函数、文件夹或类的存在情况

    参考: 1.https://ww2.mathworks.cn/help/matlab/ref/exist.html?searchHighlight=exist&s_tid=doc_srchti ...

  2. Matlab 之 find()函数

    当我第一次用matlab语言编写一个工程项目时,发现自己编写的脚本里循环特别多,导致编程效率很低,这让我特别苦恼.有一次导师让我阅读他编写的一个Matlab脚本,并按照新要求对其进行更改.我发现脚本里 ...

  3. MATLAB中的函数句柄及其应用

    1.函数句柄的创建 函数句柄(function handle)是MATLAB中的一类特殊的数据结构,它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++), ...

  4. python调用matlab脚本

    在MATLAB和Python之间建个接口,从Python中调用MATLAB脚本或者是MATLAB的函数.内容不是很难,毕竟现成的接口已经有了,在这儿记录一下API使用的一些事项. 注:本篇使用的是MA ...

  5. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  6. Matlab基本函数-conj函数

    Matlab基本函数-conj函数 1.conj函数:用于计算复数的共轭值 2.用法说明:y=conj(x)函数计算复数x的共轭值.输出结果y的维数跟输入x的维数一致,返回值为:real(y)-i*i ...

  7. 【原创】Matlab.NET混合编程技巧之找出Matlab内置函数

                  本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 Matlab与.N ...

  8. 【原创】Matlab.NET混合编程技巧之直接调用Matlab内置函数

                  本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 在我的上一篇文章[ ...

  9. matlab画图形函数 semilogx

    matlab画图形函数 semilogx loglog 主要是学习semilogx函数,其中常用的是semilogy函数,即后标为x的是在x轴取对数,为y的是y轴坐标取对数.loglog是x y轴都取 ...

随机推荐

  1. 设计input搜索框提示文字点击消失的效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. SOD 框架

    http://www.pwmis.com/sqlmap/#yyal “老坛泡新菜”-SOD MVVM框架,让WinForms焕发新春 https://blog.csdn.net/ccc82284/ar ...

  3. Qt编写气体安全管理系统2-界面框架

    一.前言 整体框架包括两个部分,一部分是UI界面框架,比如一级二级导航菜单按钮整体布局等,一部分是项目框架,上一篇文章说的是项目框架,这一篇文章来说界面框架,Qt做界面非常快速和高效,尤其是提供了可视 ...

  4. Django:bootstrap table自定义查询实现

    参考:https://jalena.bcsytv.com/archives/tag/bootstrap 背景: bootstrap table在客户端分页方式下,自带有简易的搜索功能,但是功能太单一, ...

  5. git的使用学习(四)git的远程仓库

    1.远程仓库介绍 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早 ...

  6. vue-cli3.0和element-ui及axios的安装使用

    一.利用vue-cli3快速搭建vue项目 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.有三个组件: CLI:@vue/cli 全局安装的 npm 包,提供了终端里的vue命令( ...

  7. docker pull 提示错误的username or password

    安装完docker后,使用cli docker pull images 时,提示用户名密码错误 解决方法 使用docker ID 不要使用 Email 登陆. https://github.com/d ...

  8. 【GStreamer开发】GStreamer播放教程04——既看式流

    目的 在<GStreamer基础教程--流>里面我们展示了如何在较差的网络条件下使用缓冲这个机制来提升用户体验.本教程在<GStreamer基础教程--流>的基础上在扩展了一下 ...

  9. c# 无法加载DLL:找不到指定的模块(异常来自HRESULT:0X8007007E)

    c# 无法加载DLL“xxxx”:找不到指定的模块(异常来自HRESULT:0X8007007E)的一个解决方法 以前的一个c#项目,今天运行的时候突然发现调用DLL时出现了下面的错误. 心中很诧异, ...

  10. 安装rpy2 报错<cdef source string>:23:5: before: blah1 解决办法就是直接下载一个rpy2的轮子

    win7上安装rpy2, python环境是3.6.1. 使用pip install rpy2直接安装rpy2,对应的版本时rpy2 3.0.5 报如下错误: ERROR: Complete outp ...