MATLAB/SIMULINK流水账

本文介绍了MATLAB中的关键功能,包括整理模型模块大小的一致性、通过脚本控制Simulink运行、向量和矩阵操作、function函数定义、数值运算(整除、对数和power函数)、文件路径管理、特殊矩阵生成以及MATLAB绘图的优化。
摘要由CSDN通过智能技术生成

01.模块大小的一致性

当模型建完以后,模型大小比较散乱,可以利用该功能快速整理模块的大小

例如:如下5个constant模块,大小不一

若想把所有的模块都调整至跟第3个模块一样的大小

需要先把5个模块全部选取起来,另外再单击第3个模块,右击选择Arrange和Match Size

结果:

02--通过脚本控制simulink运行时间

模型mode

set_param('mode','SimulationCommand','start')
set_param('mode','SimulationCommand','pause')
set_param('mode','SimulationCommand','step')

03--向量或矩阵转置

A=[1 2 3 4 5]

A'

A =

     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15
    16    17    18    19    20
    21    22    23    24    25

A'

>> A'

ans =

     1     6    11    16    21
     2     7    12    17    22
     3     8    13    18    23
     4     9    14    19    24
     5    10    15    20    25

04--function函数

  1. function(关键字):首先得告诉MATLAB,这是一个函数定义,而非普通的脚本文件。

  2. 函数名:就是这个“函数块”的名称(通常和文件名相同)

  3. 输入参数和输出参数:前者是括号内,后者是等号后面描述的。

  4. 函数体:由function和end之间的代码,是执行该函数的主要代码。

例如:

05--matlab整除方式

1.fix(x):截尾取整

2.floor(x):不超过X的最大整数

3.ceil(x):大于x的最小整数

4.round(x):四舍五入取整

5.matlab之取出小数部分  num-floor(num)

>> round(3.145)

ans =

     3

>> round(3.545)

ans =

     4

>> ceil(3.545)

ans =

     4

>> floor(3.545)

ans =

     3

>> fix(3.545)

ans =

     3

06--power函数用法

power(a,b)=a^b

power(A,B)=A.^B  (A B为矩阵)

 power(9,2)

ans =

    81

>> A=[2 4]

A =

     2     4

>> B=[1 3]

B =

     1     3

>> power(A,B)

ans =

     2    64

07--MATLAB某数组间隔取值

1、提取某个元素,则m,n为数字标量,如A(2,3)为第二行第三列的元素。

2、提取某行某列

A(:,n)提取第n列的所有元素,如A(:,3)提取第三列的所有元素。

A(m,:)提取第m行的所有元素,如A(3,:)提取第三行的所有元素。

3、提取任意的某部分并重新组成新的矩阵,连续或不连续,单调或不单调

数字指定:A([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的数据。

步长指定:A(1:2:end,:) A(2:2:end,:)分别提取矩阵A的奇数行和偶数行数据。

A(end:-1:1,:) A(:,end:-1:1)分别返回A矩阵行倒序和列倒序的矩阵。

变量指定:A(B(:,1),:),其中B的第一列含有数据,用来指定取矩阵A的哪些行

>> A=[1 2 3 4;5 6 7 8;9 10 11 12]

A =

     1     2     3     4
     5     6     7     8
     9    10    11    12

>> A(3,2)

ans =

    10

>> A(:,3)

ans =

     3
     7
    11

>> A(2,:)

ans =

     5     6     7     8
 
>> A([1 2 3],[2 3])

ans =

     2     3
     6     7
    10    11

>> A(2,[2 3])

ans =

     6     7

>> A(1:2:end,:)

ans =

     1     2     3     4
     9    10    11    12

08--matlab文件路径的作用

 在使用matlab的时候,我们的脚本文件、函数文件、数据文件、simulink文件等可能不在同一个文件夹下面,使用的过程中需要来回切换,十分麻烦,怎么解决这一个问题呢?

 我们只需要将我们所用到的文件夹添加到路径就可以了

只要我们的文件由灰色变成了黑色就在同一路径下了,这样就不用每次切换到指定的文件夹路径下了

09--matlab中的对数使用

Matlab中的对数使用,matlab中提供了log10、log2和以e为底的对数。

1、以e为底的对数用log()表示,如log(a)。

2、以10为底的对数用log10()表示,如log10(a)。

3、以2为底的对数用log2()表示,如log2(a)。

4、对于其它如 log ⁡ a b \log a^b logab,用logb/loga表示。

10--特殊矩阵的建立

eye(n)
eye(m,n)
ones(n)
ones(m,n)
zeros(n)
zeros(m,n)
rand(n)
rand(m,n)
magic(n)

magic(3)

ans =

     8     1     6
     3     5     7
     4     9     2

 ones(2,4)

ans =

     1     1     1     1
     1     1     1     1

eye(2,3)

ans =

     1     0     0
     0     1     0

eye(2)

ans =

     1     0
     0     1

11--matlab中sum函数

b=sum(a); a表示行向量,b表示行向量求和的值。

b=sum(a); a表示矩阵,b表示矩阵每列求和得到的行向量。

 magic(5)

ans =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

>> sum(ans)

ans =

    65    65    65    65    65

b=sum(a,dim); a表示矩阵;dim等于1或者2,1表示每一列进行求和,2表示每一行进行求和;b表示求得的行向量。

magic(5)

ans =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

>> sum(ans,2)

ans =

    65
    65
    65
    65
    65

12--MATLAB绘图使折线成为平滑的曲线

>> soc=[0 10 20 30 40 50 60 70 80 90 100]

soc =

     0    10    20    30    40    50    60    70    80    90   100

>> V=[3.1 3.5 3.2 3.6 3.3 3.2 3.1 3.0 3.4 3.6 3.4]

V =

    3.1000    3.5000    3.2000    3.6000    3.3000    3.2000    3.1000    3.0000    3.4000    3.6000    3.4000

>> plot(soc,V)

>> semilogy(soc,V)

>> soc1=linspace(min(soc),max(soc));
>> V1=interp1(soc,V,soc1,'cubic');
>> semilogy(soc1,V1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值