MATLAB基础速成

变量

MATLAB程序的基本数据单元是数组。标量在MATLAB里面也被当做数组处理,被看作只有一行一列的数组。数组可以定义为向量或矩阵,向量一般描述一维数组,矩阵一般描述二维或多维数组。数组的定义要用[]来括起来,数组中同一行元素间以空格或逗号','隔开,行与行间由分号';'隔开。

 

定义及赋值方式:

实数

>> x = 5

复数

>> x = 5 + 10i 或者>> 5 + 10j

行向量

>> x = [1 2 3] 或者>> x = [1, 2, 3]

列向量

>> x = [1; 2; 3]

3 * 3 矩阵

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

 

固定变量

pi   

       π

i, j  

      \sqrt{-1}

inf      

       ∞ 

NaN

     非数

ans  

  默认变量

向量生成

1.直接生成向量

>> x = [0.00 1.00 2.00]

x =

0.00 1.00 2.00

>> x = [0.00 1.00 2.00]'           %转置

x =

0.00

1.00

2.00

2.利用冒号生成向量

用两个冒号安顺序

隔开‘第一个值’,‘步增’ 和‘最后一个值’ 就可生成指定的向量. 如果步增为1, 则可以省略掉步增

和一个冒号, 比如

>> x = 1:0.5:3

x =

[1.0 1.5 2.0 2.5 3.0]

>> y = 1:3

x =

[1 2 3]

3.利用线性等分生成向量

linspace(star,end,gap)  生成一个线性等分向量

格式y=linspace(x1,x2,n)

表示生成n维向量,其中x1为第一个数,x2为最后一个数,当n默认时,系统默认生成100维向量。

例:

>>y=linspace(0,2,5)

y =

 

         0    0.5000    1.0000    1.5000    2.0000

矩阵的生成

1.直接输入矩阵

>> a=[1,2,3;4,5,6;exp(1),7/6,abs(-2.8)]

 

a =

 

    1.0000    2.0000    3.0000

    4.0000    5.0000    6.0000

    2.7183    1.1667    2.8000

2.利用函数生成矩阵

zeros生成全0阵

>> x=zeros(2,3)

x =

 

     0     0     0

     0     0     0

ones生成全1阵

>> y=ones(2)

 

y =

 

     1     1

     1     1

eye(m,n)生成单位阵

>> x=eye(2)

 

x =

 

     1     0

     0     1

获取向量/矩阵中的元素

指定元素所在的行和列,即可获得指定的一个或多个元素。

例:有矩阵A = [1 2 3; 4 5 6; 7 8 9]

>> x = A(1,3)

x =

3

>> y = A(2,:)

x =

[4 5 6]

>> z = A(1:2,1:2)

z =

[1 2; 4 5]

矩阵和数组运算

1.算数运算

1)基本运算

+

 加法运算

-

减法运算

*

乘法运算

/

右除运算

\

左除运算

^

指数运算

'

转置运算

运算法则同线性代数

附:

x = A\B 是Ax =B 的解,而x=B/A是xA =B 的解。

2)点运算 针对同阶对应分量的运算

 

.*

 乘法运算

./

右除运算

.\

左除运算

.^

指数运算

例:

>> A = [1 2; 3 4]

A =

1 2

3 4

>> B = A*A

B =

7 10

15 22

>> C = A.*A

C =

1 4

9 16

2.关系运算

判断两同阶数组(或者一个是矩阵,另一个是标量)对应分量间的的关系。

<

小于

<=

 小于等于

>

大于

>=

大于等于

==

 等于

~=

不等于

若连个矩阵进行关系运算,则将两个矩阵对应元素逐一进行关系运算。输出结果只包含0和1。

例:

>> A = [1 3 4 2 5]

>> B = [2 1 3 5 4]

>> C = A>B % C = [1> 2, 3 >1, 4 >3, 2 >5, 5 >4]

C =

0 1 1 0 1

>> D = A<=3 % D = [1<=3, 3<=3, 4<=3, 2<=3, 5<=3]

D =

1 1 0 1 0

3.逻辑运算

&

|

~

例:

>> A = [1 3 4 2 5];

>> B = [2 1 3 5 4];

>> C = (A>B) & (A<=3)

C =

0 1 0 0 0

常用数学函数

sin

正弦

Asin

反正弦

cos

余弦

acos

反余弦

tan

正切

atan

反正切

cot

余切

acot

反余切

Exp

 指数函数

Sqrt

 平方根

Log

 自然对数

log10

以10 为底的对数

abs

绝对数

sign

符号函数

以上函数是针对矩阵对应元素逐一进行函数的运算。

例:

>> theta = 0:pi/3:pi

theta =

0 1.0472 2.0944 3.1416

>> sin(theta)

ans =

0 0.8660 0.8660 0.0000

数组操作函数

rot90(A)

将A逆时针方向旋转90°

rot90(A,K)

将A逆时针方向旋转(90*K)°

fliplr(A)

将矩阵A左右翻转

flipud(A)

将矩阵A上下翻转

flipdim(A,dim)

将矩阵A的dim维翻转,dim=1表示行,dim=2表示列

max

输出最大数

min

输出最小数

sum

求和

例:

flipud, fliplr, rot90

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

>> B = flipud(A)

A =

7 8 9

4 5 6

1 2 3

>> C = rot90(A)

C =

3 6 9

2 5 8

1 4 7

sum

多维时默认求各列之和,若后加2则求各行之和

>> A = [1 2 3];

>> sum(A)

ans =

6

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

>> sum(B)

ans =

12 15 18

>> sum(B,2)

ans =

6

15

25

 

>> sum(B(:))        %求所有项总和

ans =

    45

max,min

>> A = [1 2 3];

>> max(A)        

ans =

3

>> max(A,2)      将A中所有元素与2比较

ans =

2 2 3

>> B = [1 3 9; 4 8 6];      B为2维按照每列取最大值

>> max(B)

ans =

4 8 9

>> max(B, [], 2)      

ans =

9

8

基本语句

for .. end

if .. else .. end

while .. end

switch .. case .. end

 例:求1-10 以内的奇数和

% sum of the odd numbers between 1 and 10

x = 0;

for i = 1:10

if mod(i,2)

x= x + i;

end

end

 

简单作图

plot(x,y,'s')

其中x表示横坐标向量,y表示纵坐标向量,s为选项字符串,用于控制线型与颜色。常用表示见绘图参数表。

title(图形名称)

xlabel(x 轴说明); ylabel(y 轴说明)

text(x,y, 图形说明)

legend(图例1, 图例2, ...)

grid on / grid off / grid minor

axis([xmin xmax ymin ymax]), xlim([xmin, xmax])

 

 

绘图参数表

b

 蓝

.

^

 向上三角形

-

 实线

g

 绿

o

 圆

<

 向左三角形

:

 点线

r

 红

x

 叉号

 

 向右三角形

-.

 点划线

c

 青

+

 加号

p

 五角星

--

 虚线

m

 紫

 

 星号

h

 六角星

 

 

y

 黄

s

 正方形

 

 

 

 

k

 黑

d

 菱形

 

 

 

 

w

 白

v

 向下三角形

 

 

 

 

 

例1:

x=-2*pi:0.1:2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,'-b');

hold on             %图像保持

plot(x,y2,'-r');

xlabel('X')

ylabel('Y')

text(0,0,'(0,0)')

legend('sinx','conx')

例2:

%建模一家

t=0:pi/180:4*pi;

x=16*sin(t).^3;

y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);

plot(x-3,y,'-r',x+3,y,'-y',x+9,y,'-b');

axis([-20,25,-20,15]);

title('Cute and charming Family')

legend('Feng','Wei','Shi')

 

 

注:本文是我学习MATLAB时整理的笔记,方便日后查看复习。分享给大家,文中可能有一些错误,或简陋难以理解的地方,大家可以指正,共同进步。(部分内容参照网上资料,侵删)

  • 10
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
对于快速掌握Matlab基础语法,你可以按照以下步骤进行学习: 1. 安装和启动Matlab:首先确保你已经安装了Matlab,并成功启动了它。 2. Matlab的工作环境:了解Matlab的工作环境,包括命令窗口、编辑窗口和工作空间。 3. 基本数学运算:熟悉Matlab中的基本数学运算,如加法、减法、乘法和除法。还有一些常用的数学函数,如sin、cos和sqrt等。 4. 变量和赋值:学习如何在Matlab中创建变量并进行赋值。了解变量的命名规则和一些注意事项。 5. 数组和矩阵操作:掌握Matlab中的数组和矩阵操作,包括创建数组、索引和切片操作、矩阵运算等。 6. 控制流程语句:了解Matlab中的控制流程语句,如条件语句(if-else)、循环语句(for、while)和跳转语句(break、continue)等。 7. 函数和脚本文件:学习如何定义和调用函数,在Matlab中编写脚本文件,并了解函数和脚本文件之间的区别。 8. 图形绘制:掌握Matlab中的图形绘制功能,包括绘制二维和三维图形、设置坐标轴和标签、添加标题等。 9. 文件操作:了解如何在Matlab中读取和写入文件,如文本文件、Excel文件和图像文件等。 10. 调试和错误处理:学习如何调试Matlab程序,并处理可能出现的错误和异常。 以上是一个快速掌握Matlab基础语法的步骤,你可以通过阅读Matlab的官方文档、参考书籍或在线教程来深入学习每个方面。不断练习和实践,才能更好地掌握Matlab基础语法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值