一、Matlab的变量

1、变量的命名

Matlab的变量名由数字、字母和下划线组成,可是仅仅能由字母开头。大写和小写敏感,最大长度为63个字符。不能使用Matlab的关键字作为变量名,应当避免使用函数名作为变量名。假设变量名採用函数名。则该函数失效。

Matlab提供了isvarname函数来验证用户指定的变量名是否为Matlab接受的合法变量名。该函数返回1或0,分别代表合法或者不合法。

>> isvarname('_var')

ans =

     0

>> isvarname('var_123')

ans =

     1

2、变量的类型

Matlab中的变量共分为三类:局部变量、全局变量和永久变量。

局部变量不用多说,和其它的编程语言是相同的含义,局部变量存储在函数的工作空间中,当函数调用结束之后,局部变量随之被删除。

全局变量在整个Matlab的工作空间中都有效。

当在一个工作空间中改变该值的时候,该变量在其余空间内的值也将被改变。全局变量的声明格式例如以下:

>> global X_val
>> X_val=3;
>> X_val X_val = 3

永久变量能够用persistent声明。仅仅能在M文件函数中定义和使用;改变了仅仅同意声明它的函数才干使用的规则。当声明它的函数退出时,永久变量继续保存在内存中。

persistent a

3、特殊变量和关键字

特殊变量是指Matlab提前定义的具有默认意义的变量,例如以下表:

变量 含义 变量 含义
ans 用作结果的缺省变量名 beep 使得计算机发出“嘟嘟”声
pi 圆周率 eps 机器零阈值,浮点精度限(2.2204*10^-16),MATLAB中的最小数
inf 表示无穷大,如1/0 NaN 表示不定数。即结果不能确定,比如0/0
j或i 虚数 nargin 函数的输入參数个数
nargout 函数的输出參数个数 Realmin 可用的最小正实数
realmax 可用的最大正实数 bitmax 可用的最大正整数(以双精度格式存储)
varargin 可变函数的输入參数个数 varargout 可变函数的输出參数个数

Matlab中有20个关键字。能够使用iskeyword命令来查看。

>> reshape(iskeyword,5,4)

ans = 

    'break'       'else'        'global'        'return'
'case' 'elseif' 'if' 'spmd'
'catch' 'end' 'otherwise' 'switch'
'classdef' 'for' 'parfor' 'try'
'continue' 'function' 'persistent' 'while'

二、分支结构

Matlab中可用的分支结构有三种,各自是if-else-end结构、switch-case结构和try-catch结构。

1、if-else-end结构

(1)假设可选择的运行命令组仅仅有一组,则调用以下的结构:

if expression
commands
end

(2)假设可选择的运行命令组有两组。则调用以下的结构

if expression
commands1 %如果条件为真则运行commands1
else
commands2 %如果条件为假则运行commands2
end

(3)假设可选择的运行命令组有n(n>2)组。则调用以下的结构

if expression1
commands1 %假设条件expression1为真则运行commands1
elseif expression2
commands2 %假设条件expression2为真则运行commands2
...
else
commandsn %假设前面的全部条件都不满足就运行最后一条
end

2、switch-case结构

switch value              %value为要进行推断的标量或字符串
case test1
commands1 %假设value的值等于test1。运行commands1
case test2 %假设value的值等于test2,运行commands2
commands2
...
otherwise
commandsn %假设全部的条件都不满足就运行这条命令
end

注意:case后的检測值不仅能够是一个标量值或一个字符串,还能够是一个元胞数组。假设检測是一个元胞数组,则Matlab将value与元胞数组中的每个元素都进行比較。假设有一个元素相等就觉得匹配成功,从而运行该次检測相相应的命令组。

3、try-catch结构

try
command1 %命令组command1首先被运行。若正确,则catch下的命令组将不会被运行
catch
command2 %假设command1命令组运行出错了,那么该命令组将会被运行
end

假设在catch下的command2的命令组的运行过程也出错了。那么Matlab将停止运行。

try-catch结构在程序调试场合很实用。

三、循环结构

1、for循环

比如求解1+2+3+….+99+100的和

>> sum=0;
>> for i=1:100
sum=sum+i;
end
>> sum sum = 5050

实际上for后边的i是一个数组,for循环每运行一次,i就取矩阵中的下一个值,比如:

>> for i=[1,3,5]
sum=sum+i;
end
>> sum sum = 9

2、while循环

我们还是求上边的那个1——100的和,使用while循环。

>> sum=0;
>> i=1;
>> while i<=100
sum=sum+i;
i=i+1;
end
>> sum sum = 5050

while循环和for循环的差别就是,while循环事先不知道要循环多少次,而for循环是依照之前设置好的次数来循环的。

四、其它经常使用控制命令

1、input和keyboard命令

input命令将Matlab的控制权临时交给用户,等待用户通过键盘输入数值、字符串或表达式等并经回车键将输入内容传递到工作空间后,收回控制权。

经常使用格式例如以下:

value = input('message')
value = input('message','s')

命令中的message是将显示在屏幕上的字符串,对于第一种调用格式,能够输入字符串、数值等各种各样的数据。

可是另外一种格式的,不管输入什么内容都当做字符串处理。

keyboard命令将控制权交给键盘,用户能够由键盘输入各种合法的matlab命令。仅仅有当用户输入完毕。并键入return命令后,才收回控制权。

input命令和keyboard命令的不同之处在于:keyboard命令同意输入随意多个Matlab命令,而input命令仅仅同意用户输入赋值给变量的数组、字符串或元胞数组等。

2、pause命令

pause命令的功能为控制运行文件的暂停与恢复。其调用格式例如以下:

pause %暂停运行文件。等待用户按随意键继续
pause(n) %在继续运行文件之前,暂停n秒

3、lasterr和lastwarn命令

lasterr命令能够显示matlab系统推断的最新出错原因。

lastwarn命令能够显示matlab系统给出的最新警告程序并继续运行。

Matlab变量、分支语句和循环语句的更多相关文章

  1. Laravel 5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句

    Laravel5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句 Laravel 的 View 部分是内置了两套输出系统:直接输出和使用 Blade 引擎“编译”后输出,默认情况下它们 ...

  2. GO语言的基本语法之变量,常量,条件语句,循环语句

    GO语言的基本语法之变量,常量,条件语句,循环语句 作为慕课网得笔记自己看 定义变量: 使用var关键字 var a, b, C bool var s1, s2 string = "hell ...

  3. javascript语句——条件语句、循环语句和跳转语句

    × 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...

  4. 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等

    [源码下载] 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等 作者:webabcd 介绍不可或缺 Windows Native  ...

  5. python基础(4):条件语句与循环语句

    今天我们看看条件语句与循环语句. 预习: 1.使用while循环输出1 2 3 4 5 6 8 9 10 2.求1-100的所有数的和 3.输出 1-100 内的所有奇数 4.输出 1-100 内的所 ...

  6. 前端笔记知识点整合之JavaScript(三)关于条件判断语句、循环语句那点事

      一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力 ...

  7. 前端笔记之JavaScript(三)关于条件判断语句、循环语句那点事

    一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力语法 ...

  8. java 判断语句和循环语句

    一.判断语句:if和switch if(关系表达式1) { 语句体1; }else if (关系表达式2) { 语句体2; }…else { 语句体n+; } switch(表达式) { case 值 ...

  9. 第二百八十七节,MySQL数据库-条件语句、循环语句、动态执行SQL语句

    MySQL数据库-条件语句.循环语句.动态执行SQL语句 1.if条件语句 delimiter \\ CREATE PROCEDURE proc_if () BEGIN ; THEN ; ELSEIF ...

  10. 9、python判断语句与循环语句

    前言:本文主要介绍python判断语句与循环语句,包括if语句.while循环.for循环.range函数. 一.if语句  关键字:if.elif.else,写法如下: # if if 条件: # ...

随机推荐

  1. JNI介绍

    JNI是在学习Android HAL时必须要面临一个知识点,如果你不了解它的机制,不了解它的使用方式,你会被本地代码绕的晕头转向,JNI作为一个中间语言的翻译官在运行Java代码的Android中有着 ...

  2. [TC6194]AllWoundUp

    [TC6194]AllWoundUp 题目大意: 有\(A\)和\(B\)两个人.\(A\)在平面上游走,\(B\)会一直盯着\(A\)看,站在\(x\)轴某个位置上不动,并随着\(A\)的运动旋转身 ...

  3. http隧道的研究

    1.reDuh为什么要bind一个udp,如何维持tcp的? 似乎只要不close,就不会关闭打开过的socket 2.如果web超时,或者脚本超时,是否意味着会断开连接. 似乎并不会 3.是否针对可 ...

  4. hdu 3572 资源分配

    资源分配,每个时间点有m个机器可用,要将这资源分配给n个任务中的一些,要求每个任务在自己的时间范围中被分配了p[i]个资源,建图: 建立源,与每个时间点连边,容量为m,每个任务向其对应的时间段中的每个 ...

  5. HDU 5301 Buildings 数学

    Buildings 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5301 Description Your current task is to m ...

  6. Codeforces Beta Round #4 (Div. 2 Only) A. Watermelon 水题

    A. Watermelon 题目连接: http://www.codeforces.com/contest/4/problem/A Description One hot summer day Pet ...

  7. css选择器:first-child和nth-child 采坑记

    今天想用nth-child来给一个类似于树的目录(bootstrap-nav-tree  一个angularjs插件)设置不同的颜色,结构大致类似于 <ul> <li class=& ...

  8. 使用 Start 屏幕查找 Windows 更新

    使用 Start 屏幕查找 Windows 更新   从屏幕右侧边缘扫入,然后点击“搜索”.      如果您正在使用鼠标,请指向屏幕右下角,然后单击“搜索”.  在搜索框内输入 Windows 更新 ...

  9. openfire Hazelcast插件集群配置

    原文:http://blog.csdn.net/frankcheng5143/article/details/48708899 注意虽然hazelcast 官方已经有了3.5.2版本,但是openfi ...

  10. 【资料】wod烟草

    注意: 1. 所有效果持续时间是整个地城 2. 某几样菸草在使用 烟雾的祝福 的时候效果只有LV1 (技能 -25), 表示该物品设计上主要是自己使用而非加给团队. SL = 技能等级 HL = 英雄 ...