实战中学习Matlab(小白都能学会)

一、清空环境变量及命令

        clear all        %清除workspace中的所有变量

        clc        %清除Command Window中的所有命令

% 和%%都表示计算机不会运行这行程序

二、变量命令规则

1.变量命名区分大小写

2.变量命名长度不超过63位

3.变量命名以字母开头,由字母,数字,下划线组成。

4.应该简洁明了

三、Matlab数据类型
1.数字

1 + 2 

5 - 3

2.字符与字符串

s = 'a'

abs(s)  //执行的是得到s的asc编码97,因为s='a'

char(97) 输出的是'a'

num2str[65]

str = 'let's fking go'

length(str)  //str的长度

3.矩阵

A =[1 2 3; 4 5 2 ; 3 2 7] //结果 是3 ×  3矩阵

B = A'  //B等于A的转置

C = A(:) //将A矩阵从左到右竖着写

D = inv(A) //求A的逆矩阵

A * D //A和D的乘积

E = zeros(10,5,3)   //创建了一个三维的10行5列的矩阵,所有位置都是零

E(:,:,1) =rand(10,5)

//rand():生成均匀分布的伪随机数,分布在(0~1)之间

rand(m,n):生成m行n列的均匀分布的伪随机数

rand(m,n,'double'):生成制定精度均匀的伪随机数,参数还可以是'single'

randn():生成标准正态分布的伪随机数(均值为0,方差为1)

randi():生成均匀分布的为随机整数

randi(iMax):在开区间(0,iMax)生成均匀分布的为随机整数

randi(iMax,m,n):在开区间(0,iMax)生成mXn型随机矩阵

r = randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成mXn型随机矩阵

4.元胞数组

MATLAB索引从1开始,与其他编程语言从零开始不同。

A =cell(1,6)  //定义为1行6列的元胞数组 结果为:[] [] [] [] [] [] 

A{2} = eye(3) //

A{3} = magic(5)  //magic(5) 5X5阶

                           magic():生成n阶幻方 幻方:横竖斜上数相加都相等

5.结构体

books = struct('name',{{'Machine Learning','Data Mining'}},'price',[30 40])

//结果

books = 

  包含以下字段的 struct:

    name: {'Machine Learning'  'Data Mining'}
    price: [30 40]

books.name //属性

books.name(1) //第一个细胞数组  结果:1X1 cell

books.name{1} //细胞数组中的字符串  结果:'Machine Learning'

四、MATLAB的矩阵操作
1.矩阵的定义与构造

A=[1 2 3 5 8 5 4 6]        //构建一个1X8的矩阵A

B = 1:2:9      //构建一个矩阵B,要求最大值是1,最小值是9,步长是2;步长不能缺少

C = repmat(B,m,n)    //把B这个矩阵横着重复m次,竖着重复n次;

D = ones(2,4)  //生成一个2行4列的矩阵D,所有位置都为1

2.矩阵的四则运算

A = [1 2 3 4 ; 5 6 7 8]        //构建一个2X4的矩阵A

B = [1 1 2 2 ; 2 2 1 1]        //构建B

C = A + B        //矩阵C=矩阵A和B对应位置相加

D = A - B        //矩阵相减

E = A * B'        //矩阵E=矩阵A X B的转置

F = A .* B        //矩阵F=A与B对应位置相乘

G = A / B        //矩阵G=A X B的逆

H = A ./ B        //对应项相除

3.矩阵的下标

A = magic(5)        //生成幻方矩阵A;5行5列

B = A(2,3)        //B等于A的第2行,第3列

C = A(3,:)        //取A的第三行

D = A(:,4)        //取A的第四列

[m,n]=find(A > 20)        //找大于20的序号值/矩阵

五、MATLAB流程控制
1.for循环

for 循环变量 = 初值 : 步长 : 终值

     执行语句1

      ...

      执行语句n

end

//步长的默认值为1,可以省略

2.while循环

while 条件表达式

        执行语句1

        ...

        执行语句2

end   

3.if结构

if 条件表达式

        ...

        语句体

        ...

end

4.if..else..end结构

if 条件表达式

        语句1

else

        语句2

end

5.switch..case..end结构

switch 表达式(数值或字符串)

        case 数值或字符串1

                语句体1;

        case 数值或字符串2

                语句体2;

        ...

        otherwise

                语句体n;

end

//otherwise可以省略

六、MATLAB基本绘图操作
1.二维平面绘图

x = 0:0.01:2*pi;        //x的取值为从0开始,2*pi结束,步长为0.01

y = sin(x);        //y取值为sinx

figure        //建立一个幕布

plot(x,y)        //绘制一个二维平面的图

title('y=sin(x)')        //为此图取一个标题

xlabel('x')        //为x轴取标题

ylabel('sin(x)')        //为y轴取标题

xlim([0 2*pi])        //目前所有x的值最小为0,最大为2*pi

1.1 颜色选择参数(颜色 字符)

红  r        绿 g        蓝 b        黄 y        粉红 m         青 c        白 w        黑 k

1.2 线型选择参数(线型 符号 示例)

实线        -        ————————

虚线        --        -----------------------

冒号线        :       ---- ---- ---- ----

点画线        -.        —— -   —— - —— -

1.3 数据标记点选择参数(符号 点类型)

·  点        +  十字号       o  圆圈        *  星号        x  叉号        s  正方形        d  菱形

^  上三角        v  下三角        <  左三角        >  右三角        p  五角星        h  六角星     

x = 0:0.01:20;        //x取值范围

y1 = 200*exp(-0.05*x).*sin(x);        //y1取值规则

y2 = 0.8*exp(-0.5*x).*sin(10*x);        //y2取值规则

figure        //建立一个幕布

[AX,H1,H2] = plotyy(x,y1,x,y2,'plot')        //plotyy():共用一个x坐标系,在y上有不同的取值

set(get(AX(1),'Ylabel'),'String','Slow Decay')      //为y轴左边设置一个标题 

set(get(AX(2),'Ylabel'),'String','Fast Decay')        //为y轴右边设置一个标题

xlabel('Time (\musec)')        //为x轴设置标题

title('Multiple Decay Rates')        //为这张图设置标题

set(H1,'LineStyle','--')        //为H1设置风格虚线

set(H2,'LineStyle',':')        //为H2设置风格为冒号线

2.三维立体绘图

t = 0:pi/50:10*pi;

plot3(sin(t),cos(t),t)

xlabel('sin(t)')

ylabel('cos(t)')

zlabel('t')

grid on        //在图片中加一定的网格线

axis square        //将各种方向都变成正方向,绘图更好看

3.图形的保存与导出(4种方法)

(1)Edit ->Copy Figure      //编辑->复制图窗->打开一个word文件->按ctrl v粘贴

(2)Toolbar ->Save        //文件->另存为->选好位置,调好所需格式和名字

(3)print('-depsc','-tiff','-r300','picture1')        //命令

(4)File ->Export Setup

ps:1.双栏排版图时:编辑->导出设置->更改宽度值->应用于图窗->导出

[x,y,z] = peaks(30)

mesh(x,y,z)        //创建一个三维网络图

grid                //绘制了一个双峰函数

          

  • 31
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值