MATLAB程序设计:完整合集与学习指南

注意:绿色高亮为易错或认识难点,黄色高亮为新知识;

W1S2-变量类型(在W2S2讲解)

W2S2.逻辑运算+字体设置 P6 - 36:02 饱和

int8存储最大整数为127(∵其为-128...-1,0,1...127),

int16同理;

uint8最大数为2^8-1;

int8最大数为2^8/2-1;

W1S4-常数&随机数

1.当虚数单位i或j被占用时,可以在前面加上‘1’使i或j仍为虚数单位;

2.产生随机数时,使用“rng('shuffle')”可以保证随机种子不同,产生的随机结果也就不同;

3.rng函数使用括号内的非负取整部分;

4.randn产生正态分布随机数,randi([a,b])产生a到b的整数随机数。

5.Inf表示无穷,NaN表示未定义数;

W2S1-字符型变量简介

详见C语言ascii码相关概念

W2S2-逻辑运算

1.‘==‘表示判断是否等于;’~=‘表示判断是否不等于;

2.’&&‘与’||‘的使用同C语言(注意:&&左0则不执行右;||左1则不执行右——“短路运算”),‘~’表示非;

3.xor(A,B)为语句A与B当且仅当只有一个正确时返回1;

4.运算符优先级如下:

5.注意:连续比较时应当注意顺序:5>4>3➡(5>4)>3➡1>3➡0;

6.浮点数计算后比较涉及舍入误差,故经常使用两者差的绝对值来比较;

W2S2.逻辑运算+字体设置 P6 - 37:36 浮点数比较

W2S3-基本函数

1.sin()输入弧度,sind()内输入角度;

2.fix()取整去掉小数部分,floor向负无穷取整,ceil向正无穷取整,round()向最近整数取整(四舍五入);

3.round(C,x)保留C的x位小数;

4.mod(A,B) == A除以B的余数,mod&rem不同点查看help;

5.sign(x)返回x的符号;

6.sqrt()求平方根,nthroot(x,y)求x的y次方根;

7.deg2rad()角度转换弧度,rad2deg()同理;

8.log()默认以e为底,logn()表示以n为底;

9.exp(x)表示e的x次方;

W2S3-行向量

1.[]或用”x:d:y“输入从x到y,公差为d的等差行向量,d省略则默认公差1;

2. linspace(x1,x2,d) 建立从x1到x2,有d个数的等差数列;logspace(x1,x2,d)建立从10^x1到10^x2,有d个数的等比数列;

3.[u v]将两个向量组合;

4.u(x)访问u的第x个元素,matlab中数组编号以1开头

5.u([x y])访问u的第x与第y个元素并以向量形式返回;

6.u(end-n)返回倒数第n个数,u(a:end-n)返回第a个到倒数第n个数;

W2S4-列向量&矩阵

1.[x;y;z]分号表示一行结束,共轭转置为单引号;单纯转置为.'

2.返回值与原向量相同形式,而非指标向量;

3.rand(x,y)输出x行y列随机数方阵,randi([x,y],a,b)输出从x到y的随机整数a行b列矩阵;

4.zeros()0矩阵,ones()1矩阵,eye()单位矩阵,diag()对角矩阵;

5.diag(,n)表示第n个对角线元素赋前面的值;

6.访问值时线性下标:

7.W2S4.列向量+矩阵 P8 - 39:08 矩阵大小相关函数

length()返回max{行数,列数};size()返回行数,列数;[n_row,n_col]=size()行数&列数分别赋值;numel()返回元素数;

8. matlab中0,Inf,NaN理解成数列极限;

W3S1-向量&矩阵常用函数

1.reshape()改变矩阵的形式且原矩阵不变;元素数必须一致;

2.flipud()纵向翻转,fliplr()横向翻转;flip()以列向量翻转(flipud);

3.rot90()逆时针旋转90°;

4.repmat(A,x,y)-repeat matrix将A纵向复制x次,横向复制y次;

repelem(A,x,y)-repeat element

5.空矩阵-用以存储数组,NaN(x,y)产生x行y列空矩阵;

掷骰子

W3S2-向量运算&矩阵运算

1.三维数组用T(:,:,k),k=1,2,3...;(把纸叠在一起)

2.min()返回一维向量最小值,矩阵每一列最小值,max()同理;

3.sum()返回所有元素和,prod返回所有元素之积(向量情况),矩阵看help;

4.cumsum()&cumprod()&cummin()&cummax()

5.diff()➡x(2)-x(1),x(3)-x(2)……;

6.矩阵运算 .*为两个数组对应元素相乘,./同理,.^

W3S3-逻辑向量&逻辑矩阵

0.产生逻辑数组;

1.v(v>x)返回v中所有大于x的元素;

2.logical()强制转换成逻辑数组;或者在后面跟修饰'logical';

3.any()逻辑数组中是否至少有一个是真值,all()同理;

4.find()返回逻辑数组中为真值的数字位置,find(x,k)x中的前k个真值位置;

5.all(x1==x2)比较x1与x2对应位置元素是否相同;isequal(x1,x2)类似;

6.例题1

剔除vec中所有负数

P.S.>>第二行语句将负数赋予空值,即剔除;

7.例题2

W3S3.逻辑向量和逻辑矩阵 P11 - 32:45 例2

numel(find(differ(V) == 1))

sum(differ(V == 1))更简洁;

W3S3.逻辑向量和逻辑矩阵 P11 - 41:14 例2.2

找出数组中所有1➡2的次数

法(1)将0改成NaN;

法(2)

8.对于向量用&连接,标量&&连接;

W3S4-矩阵乘法

1.".^2"元素自身平方;点积".*"后求和或转置乘;叉积cross();

2.希尔伯特矩阵hilb(),帕斯卡矩阵pascal(),幻方阵magic();

3.[I,J]=ind2sub(size,ind)将线性下标转换成行、列序号;

W3S4-变量输出显示

1.disp();

W3S4.矩阵乘法+变量的输出和显示(上) P12 - 25:33 disp

2.num2str(,x)将整型,实型转换成字符串型并保留x位

3.fprintf()(C语言printf())

W3S4.矩阵乘法+变量的输出和显示(上) P12 - 36:54 fprintf

4.ctrl r注释ctrl t取消注释;

5."%+"正号有则输出符号;

W5S3

function被存储在同名文件中成为公共函数,跟在脚本后成为局部函数

W6S2

事先赋予变量空间提高计算效率

W7S4

1.同名静态变量在不同函数中的值不相互影响;

2.函数中才可以定义静态变量

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空