菜鸟的Matlab数学实验学习笔记(1)

注明:本学习笔记目的用于作者个人学习,其内容整理出自MOOC电子科技大学数学实验张勇老师等的课程课件,再次注明,请勿转载。www.icourse163.org/learn/UESTC-235004


1.1基本语法

1.变量命名规则

a.必须以字母开头;b.区分大小写;c.可有字母、下划、线数字组成

example: numcar or num_car; %变量名应能够反映其实际含义。

2.赋值语句

变量名=表达式;

example: a=[2,3,4,5]; or a(2)=10;

其他赋值语句形如:变量名=函数名(输入参数列表);[变量名列表]=函数名(输入参数列表)

3.表达式语句

一个语句可以只有表达式,系统自动将表达式的结果赋值给MATLAB内部变量"ans"。

4.语句分隔符

分号和逗号,如果不加分号,系统会显示运算后的结果。

5.常用命令、快捷键

clear          清除工作空间中的变量

如:clear   变量名列表

示例:

clear A B    清除变量A,B

clc              清除命令窗口内容

who            列出当前工作空间所有变量名称

whos          列出当前工作空间变量更多信息(维数,占用内存字节数等)

whos          变量名列表

示例:

whos v1 v2列出变量v1,v2的更多信息

快捷键:向上方向键、向下方向键

用于浏览命令窗口历史命令、语句



1.2数组的创建与使用

1.2.1创建数组

1. 使用方括号

同一行的元素用“空格或逗号”分隔,不同行的元素用“分号或换行”分隔。

如: X=[1,2,3;4,5,6;7,8,9];

        Y=[2,3,4

              5,6,7];

2.冒号符操作

用于创建行向量a:step:b 其中a:b等同于a:1:b,a为起始值,step为增量,b用于判断向量终点值。

x=1:5 表示x=[1 2 3 4 5],增量默认为1

x=1:2:9 表示x=[1 3 5 7 9]

x=10:-2:1 表示x=[10 8 6 4 2]

3.linspace(a,b,n)

n-1等分区间[a, b]的节点组成的行向量(含区间端点a, b)

示例:x=linspace(-2, 2, 5) %表示x=[-2 -1 0 1 2]

如果要产生一个区间上的均匀节点,并且指定所产生数组的元素个数,则使用linspace更为方便。

4.拼接

示例格式1:[A B] 横向拼接要求A,B行数相同,

示例格式2:[A; B] 纵向拼接,要求A,B列数相同.

示例:z=[rand(2,3), rand(2,2) ]

5.空矩阵[ ] 产生一个空矩阵

示例:a=[ ]

6.调用函数创建

a = zeros(m, n) 产生一个m行、n列的零矩阵;多用于变量的初始化

a = ones(m, n) 产生一个m行、n列的元素全为1的矩阵

a = eye(m, n) 产生一个m行、n列的单位矩阵

1.2.2修改和提取数组中的元素

通过数组下标访问:(1)下标为大于等于1 的整数;(2)下标不能越界

常用语法:示例:x(i), x(a : b : c), x([a b c d]),x(i,j)

获取子阵:

获取某一行 A(r, :) 第r行;

获取某一列 A(:, c) 第c列

获取子阵A(行下标集,列下标集)

修改元素:用赋值语句修改。如果赋值语句右侧不是一个标量,则要求赋值语句两侧表示的数组维数要相同,否则造成维数不一致的错误。

参考用法1:A(i,:)=B(k,:),

参考用法2:A([1 2],:)=V

1.2.3删除数组中的元素

操作方式:将空矩阵赋值给相应子阵达到删除目的。

用法:

A(i1:i2,:)=[]%删除A由i1:i2指定的行

A(:,j1:j2)=[]%删除A由j1:j2指定的列

1.2.4 end在存取数组元素方面的特殊用法

用法:end在下标表达式中表示最后一个下标值

如果end出现在一个向量的下标中,则表示向量的元素个数。

如果end出现在一个矩阵的行下标位置,则表示矩阵的行数。

如果end出现在一个矩阵的列下标位置,则表示矩阵的列数。

示例:x=[1 5 9; 2 6 10; 3 7 11; 4 8 12];

x(end,2)= 0; x%将矩阵x的最后一行第2列元素赋值为0

其他例子:

-------------------操作向量示例

t = rand(1,10);

x1 = t(1:end-1) %取第1个-倒数第2个

x2 = t(end-2:end) %取倒数第3个-倒数第1个

–操作矩阵示例

A = rand(3)

B = A(1:end-1, : ) %取A的第1行-倒数第2行

C = A(:, [2:end]) %取A的第2列-倒数第1列



1.3运算符

1.3.1算术运算符

矩阵转置B. '矩阵共轭转置B'

矩阵加减:A+B,A-B,A与B维数相同或其中之一为标量

矩阵相乘:A*B,A与B为矩阵或其中之一为标量

矩阵左除:A\B,当A为方阵表示: A-1B

矩阵右除:A/B,当B为方阵表示AB-1,或B为标量

矩阵幂:A^n,A为方阵

数组对应元素计算:

数组相乘:C=A.*B

数组右除:C=A./B;

数组左除:C=A.\B

数组幂:C=A.^B

要求:A, B同维数或其中之一为标量

1.3.2关系运算符


关系运算符说明

1.3.3逻辑运算符


逻辑运算的值为0(代表“假”)或1(代表“真”)

三种运算符:

与(and) &

或(or) |

非(not) ~



1.4变量数据类型

主要的数据类型:double char sym struct cell

a=rand(3); b='Li San';%a为double型,b为char型

syms x, y=1 + x^2 %x,y为sym类型;对y赋值的语句含符号对象

F.name='li San', F.birth=1999, F.src=rand(3)%F为struct型

whos a b x y F

Name Size Bytes Class Attributes

F 1x1 620 struct

a 3x3 72 double

b 1x6 12 char

x 1x1 112 sym

y 1x1 112 sym

查看变量类型

示例:

a=rand(3); b='abc'

class(a), class(b)

运行结果:

ans= double

ans= char

使用函数class

用法:class(变量名)

该函数返回变量的数组类型的char型数组,如'double', 'char'。

cell数组基本用法

创建数组用法:

a=cell(m,n)

存取cell数组用法示例:

a{i} i为下标

a{i,j} i,j分别为行、列下标

特点:一个cell数组中的元素的类型可以互不相同



1.5基本输入与格式化输出操作函数

三个函数:

input 输入函数

输入函数input

第一种用法:

input(提示信息字符数组)

用于输入一般类型数据

第二种用法:

input(提示字符串,'s')

用于输入字符数组(含第2个参数's')

disp显示数组内容函数

显示数组的元素

数组显示函数disp(变量名)

特点:显示数组内容,但不输出变量名

多用于调试程序时显示数组内容

sprintf将数组内容格式化为字符串

格式化输出函数sprintf

功能:将数据格式化输出为字符串

用法:str = sprintf(formatSpec,A1,A2,...,An)

将数组A1,A2,...,An按照参数formatSpec格式化为字符串赋给str.

%d 格式化整数%f 格式化浮点数

%c 格式化单个字符%s 格式化字符数组

百分号符号字符后可以加个整数, 用以限定输出化为字符串的长度,例如:%5d, %5s。



©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容