2.1常量与变量

2.1.1 特殊常量

变量名

功 能 说 明

ANS(ans)

缺省变量名,以应答最近一次操作运算结果

i或j

虚数单位

Pi

圆周率

NaN

Not-a-number,表示不定值

tic

秒表开始执行

INF(inf)

代表无穷大

toc

秒表停止

Date

日历

Clock

时钟

2.1.2一般变量

变量命名遵守的原则:

1、 变量名区分大小写

2、 变量名长度不超过31位,超过的将被忽略

3、 变量名以字母开头,可以由字母、数字、下划线组成,但不能使用标点

2.2数组

2.2.1 建立数组

方法:1、逐个元素输入法 x=[1 2 ; 2 3;4 5]

2、冒号法 x=初始值:步长:终止值

3、特殊方法 x=linspace(初始量,终止量,数组元素个数)

y=logspace(初始量,终止量,数组元素个数)

2.2.2 引用数组

1、 一维数组

调用格式 x(n) x(n1:n2)

2、 二维数组

调用格式 x(m,:) x(:,n) x(m,n) x(m,n1:n2)

2.3运算符

2.3.1 算术运算符

操作符

功能说明

操作符

功能说明

+

\

算术左除

.\

点左除

算术乘

/

算术右除(传统)

.*

点乘

./

点右除

^

算术乘方

´

算术转置

.^

点乘方

点转置

2.3.2 关系运算符

操作符

功能说明

==

等于

~=

不等于

大于

小于

>=

大于等于

<=

小于等于

2.3.3 MATLAB逻辑关系运算符

逻辑运算符

逻辑运算

说明

&

And

逻辑与

or

~

Not

Xor

Xor

异或

逻辑运算规则

输入

异或

a

b

a&b

a|b

xor(a,b)

~a

0

0

0

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

0

例1:逻辑矩阵A=[1 1 ;0 1]、B=[0 1; 0 0],逻辑标量b=0,求c1=A&b ,c2=A|b, c3=xor(A,B)

2.3.4 逻辑函数

逻辑函数

函数意义

all

判断是否所有元素为非零值

any

判断是否存在一个元素为非零值

exist

查看变量或函数是否存在

find

找出向量或矩阵中非零元素的位置标识

isempty

判断矩阵是否为空矩阵

isequal

判断几个对象是否相等

isnumeric

判断对象是否为数值型

例2:向量a=[1 3 5] ,矩阵A=[1 2 3 ;0 4 5] ,求B1=all(a) B2=all(A)

B3=all(A,2)

例3:向量a=[0 3 0] ,矩阵A=[1 0 3;0 0 5] ,求B1=any(a) B2=any(A)

B3=any(A,2)

例 4:矩阵A=[1 0 3;0 0 5] ,求k=find(A) [I,j]=find(A) [I,j,v]=find(A)

例5:矩阵A=[0.34 0.6] ,B=[0.34;0.6] ,C=[‘who’],判断A与B、A与C是否相等

例6:矩阵A=[0.34 0.6] , B=[1+2*i 0.6+3*i] ,C=[‘who’],判断A、B、C是否为数据矩阵。

2.3.5 MATLAB特殊运算符

需要特别指出,下表中的特殊运算符是指在英语输入状态下输入的字符,若在汉字输入状态下输入则无效。

MATLAB特殊运算

符号

功能说明

冒号,在MATLAB中非常重要

分号,用于分隔行

逗号,用于分隔列

( )

圆括号,指出在算术表达式中先后次序

[ ]

方括号,用于构成向量和矩阵

{ }

大括号,用于构成单元数组

.

小数点或域访问符

..

父目录

用于语句行尾端表示该行未完

%

用于注释

!

用于调用操作系统命令

=

用于赋值

经常使用的MATLAB特殊运算符,功能说明如下:

(1)冒号(:)

①使用冒号可以输入行向量,其格式为:x = a : inc : b 。

a 是数组的第一个元素,inc是步长(两个元素的间隔),步长可正可负; a、inc、b三者之间用冒号分隔;当inc=1时可以省略。

【例2-1】在MATLAB命令窗口输入指令并回车(以下举例同此)。

(1)a= 10:5:30(2)a= 10:-1:0(3)a= 10:15

②使用冒号能够从向量、矩阵和数组中选出指定元素、行和列。

【例2-2】使用冒号选出指定元素。

1 2 3

A = 4 5 6

7 8 9

A= [1 2 3;4 5 6;7 8 9 ];

A(1:2,3)

③使用冒号能够从一个大矩阵中选取小矩阵。

【例2-3】使用冒号选取小矩阵示例。

1 2 3

A = 4 5 6

7 8 9

A= [ 1 2 3;4 5 6;7 8 9 ];

B= A(2:3,:)

(2)方括号([ ])

方括号可以输入矩阵,也可用方括号删除矩阵的行和列,此时方括号[ ]代表空阵。

【例2-4】用方括号删除矩阵的行和列。

A= magic(4);A

A(:,3)=[ ];

A

2.3.6数组函数

MATLAB 的基本数组函数

函数名

功能

函数名

功能

exp

指数

angle

复数的相角

log

自然指数

conj

复数的共轭

log10

常用对数

imag

复数的虚部

sqrt

平方根

real

复数的实部

abs

绝对值(复数的模)

sign

符号函数

2.3.7矩阵函数

1、矩阵生成函数

(1)zeros ( )函数

zeros ( )函数能够生成元素全为0的矩阵

(2)ones ( )函数

ones ( )函数能够生成元素全为1的矩阵

(3) magic ( )函数

在MATLAB中,magic ( )函数是一个特殊的函数,该函数能够自动生成一种特别的N 阶方阵(其中,N =1,3,4,5…)叫做魔方阵,这些N阶方阵具有一个共同的奇妙特性,即每一行,每一列或对角线上的元素之和都相等。

(4)diag ( ) 函数

diag ( ) 函数可以生成对角矩阵

(5)triu ( ) 函数

triu ( ) 函数可以生成上三角矩形

(6)tril ( )函数

tril ( )函数可以生成下三角矩形

(7)size ( )函数

size ( )函数用来返回指定矩阵的行数和列数

(8) eye( )函数

eye( ) 函数可以生成指定行数和列数的单位矩阵。

eye( )函数和size ( )函数常常一起使用,用以生成与指定矩阵同维的单位矩阵。

2.4 m文件

M文件可以在程序编译器、文本编译器中编写,都以‘.m’为扩展名存储。MTALAB语言中的m文件可以分为命令文件和函数文件两种。

2.4.1 命令文件

命令文件比函数文件简单,没有输入参数和输出参数,只是命令行的组合。

例 :分别绘制花瓣图案: (程序见’ 2.4.1.m’)

2.4.2 函数文件

用来定义一个函数,必须指出函数名、输入输出参数,并有MTALAB语句序列的操作与处理,从而生成所需要的数据。

函数文件格式包括:

(1) 函数定义行:定义函数名、输入输出参数。

(2) 帮助信息第一行:反映该m文件概括性的信息

(3) 帮助正文:从第二行到非注释行之间的注释为帮助正文

(4) 函数体:所有计算过程和输入输出参数的MTALAB代码

(5) 注释:以%开头

例:定义一个名为f.m的函数文件,并调用该函数。(object1.m)

2.4.3 m文件的调试

1、 m文件错误的种类

2、 识别错误:

2.5程序设计

2.5.1 顺序结构

依次执行程序各条语句。(2.5.1.m)

2.5.2 分支结构

1、 条件语句(if—else--end)

[一般形式] if

‘真’执行

Else

‘假’ 执行

end

[简化形式] if

‘真’执行

End

[嵌套形式] if

‘1真’执行

elseif

‘2真’执行

elseif

‘3真’执行

…..

Else

‘假’ 执行

end

例 (2.5.2.1m,a1.m)

2、开关语句(为了解决多分支判断)switch—case—end 即使多条case语句为真,程序只执行遇到的第一条case语句。

[一般形式] switch x

case 选择判断值1 {}

判断语句1

case 选择判断值2

判断语句2

….

otherwise

判断执行语句

end

例(f0233.m)

2.5.3 循环结构

1、 循环语句1(for--end)

适用于已知循环次数,不知道循环运算目标的问题

[调用形式] for 循环变量=

循环体

end

例(2.5.3.1.m)生成一个4行5列的矩阵

2、 循环语句2(while--end)

以条件满足与否来判断循环是否结束

适用于已知循环运算目标,不知道循环次数的问题

[一般形式] while

循环体

end

例 while i==5

A(i)=2;

end

A(i)

3、 循环语句的终止

在while 循环语句中,必须有修改循环控制变量的命令,否则该循环陷入死循环,除非循环语句中有退出循环控制命令(如break语句)。

matlab 当已知两个矩阵满足分别一定条件时_程序继续执行,MATLAB程序设计基础相关推荐

  1. [MATLAB]从已知矩阵中取出子阵

    首先要知道冒号表示法,如下: EX: 如上有4×6矩阵,假设我们要取出第一行,第二行,第四行,则可以有B=A([1 2 4],:) 假设要取出第一行,第二行,第四行的1-2列和4-6列,可以有B=A( ...

  2. matlab 行列式 未知量,[求助]已知N*N矩阵的行列式,矩阵内有一个未知量?

    回复: [求助]已知N*N矩阵的行列式,矩阵内有一个未知量? :biggrin: 原来的题目可能没有说清楚,我的意思如下: 比如有这么一个行列式 a = 1 0 1 0 2 0 0 1 0 2 0 5 ...

  3. matlab已知函数表达式画函数图像,怎么用matlab画已知函数表达式的一个函数图像?函数比较复杂的……...

    点击查看怎么用matlab画已知函数表达式的一个函数图像?函数比较复杂的--具体信息 答:要具体哦,如果一个自变量,函数图像就是曲线,用plot 如果是2个自变量,函数图像就是曲面了,如f=3*exp ...

  4. Matlab利用已知方阵创建斜对角矩阵

    Matlab利用已知方阵创建斜对角矩阵 A=[ 1 2 3 4 ;7 8 9 10 ;13 14 15 16 ;19 20 21 22 ]; 对于小矩阵,直接利用for循环解决 n = size(A, ...

  5. matlab状态空间法算反馈阵,matlab中已知系统的状态方程怎样绘制系统阶跃响应曲线...

    matlab中,怎样设置坐标系统的原点在左上角? axisijx=-pi:0.1:pi;y=sin(x);plot(x,y,'g:'); 谁能帮我做Matlab的作业:分析系统能否通过状态反馈实现镇定 ...

  6. matlab 椭圆参数传递,用MATLAB绘图已知椭圆参数方程

    用MATLAB绘图已知椭圆参数方程为 cos ,[0,2] sin x a t t y b t π= ? ∈ ? = ? 一.实验名称 MATLAB绘图功能 二.实验目的及要求 1.理解MATLAB绘 ...

  7. matlab 参数方程绘图,用matlab绘图已知椭圆参数方程

    用matlab绘图已知椭圆参数方程 1 用MATLAB绘图已知椭圆参数方程为 cos , [0,2 ] sin x a t t y b t        一.实验名称 MATLAB绘图功 ...

  8. 已知两个时间戳判断这两个时间是否在同一天

    已知两个时间戳判断这两个时间是否在同一天 int Same_Day() { char Time1[11] = "1516766666";char Time2[11] = " ...

  9. 已知两个向量的夹角和其中一个向量,求另一个向量

    假设已知两个向量 A 和 B 之间的夹角为 θ,向量 A 的长度为 |A|,求向量 B. 可以使用向量叉积来求解. B = |A| * (cos(θ) * i + sin(θ) * j) , i,j ...

最新文章

  1. hdu1074 状态压缩dp+记录方案
  2. 全球及中国豪华游轮行业投资策略分析及“十四五“发展规划建议报告2021-2027年版
  3. ABAP实例:一个现金流量表的代码
  4. tensorflow 开始——创建定制化 Estimator(创建自定义评估器)
  5. DNN出错:The compiler failed with error code 1.
  6. python企业级框架_Python六大开源框架对比:Web2py略胜一筹
  7. ae saber插件_入门AE:影视特效中的黑洞是怎么做的?附带教程
  8. Program terminated with signal SIGSEGV, Segmentation fault.
  9. if 组件是否存在_UE4 UMG简介+Slate组件问题排查
  10. 关于tomcat的思考
  11. SAP License:PM实务
  12. 初学JAVA,开发环境的搭建(JDK和Eclipse的安装)
  13. 锌合金铸件压铸方案的优化与应用 | 智铸超云案例分享
  14. VS2015 如何打包winform 安装程序
  15. win10无法修改mac地址_电脑MAC地址(物理地址)修改方法
  16. 室内导航怎么实现?怎么做到零成本实现室内导航?
  17. PMP学习考试感悟之——坚持、努力是唯一法宝
  18. 华为服务器修改root密码,华为云服务器root权限设置密码
  19. 基恩士XG-XvisionEditor程序的上传与下载
  20. 雷林鹏分享:PHP date() 函数

热门文章

  1. php http 类,php写的http请求封装类
  2. linux 源码目录结构,分析Android 源代码编译前后的目录结构
  3. 服务器采购框架合同协议书范本,手写一个满足WSGI协议的Server
  4. php实现文本替换,php 如何实现文字替换
  5. mysql 天数减1_mysql 日期加减天数
  6. python中文文本分析_python使用snownlp进行中文文本处理以及分词和情感分析 - pytorch中文网...
  7. python数据科学实践 常象宇_Python数据科学实践
  8. vue实现查询多条记录_vue.js 实现天气查询
  9. win10开机密码忘记了的解锁教程
  10. Android前端音视频数据接入GB28181平台意义