Matlab浅度学习

目录:

     Matlab数据类型:

矩阵: 

元胞数组:

 结构体:

矩阵的运算:

矩阵的下标:

while的循环结构:

 if      end结构:

 if else end结构体:

switch case end结构:

二维平面绘图:

 三维立体绘图:


    Matlab数据类型:

  1. 数字
  2. 字符与字符串
  3. 矩阵
  4. 元胞数组
  5. 结构体(相当于Python中的字典)

矩阵: 

 

matlab的eye(N)函数用来产生N*N大小的单位矩阵,也就是N行N列的单位矩阵,单位矩阵就是对角线元素为1 的方阵啦。

magic(n)生成一个n阶幻方。

一个n阶幻方,就是把1-n^2排成一个nxn的矩阵,使得矩阵的每行、每列,以及主、副对角线上面的n个数之和都相等(容易证明,这个和等于n*(n^2+1)/2)。

 

元胞数组:

%%元胞数组
A=cell(1,6)%%类似于结构体数组
A{2}=eye(4)%%matlab是从1开始第二个小块
A{5}=magic(5)

 结构体:

books = struct('name',{{'yushiqi','lijiahui'}},'price',[30,40]);
books.name%属性
books.name(1)%%这样取出来的是cell
books.name{1}%%这样取出来的是一个字符串

矩阵的运算:

A=[1,2,3,4,5,6]%矩阵
B=1:2:9%%起始值跳越值和末尾值
C=repmat(B,3,1)%%3行每行一个B
D=repmat(B,3,2)%%3行每行2个B
E=ones(4,4)%%生成一个4行4列都为1的矩阵
E=zeros(4,4)%%生成一个4行4列都为0的矩阵只能生成0或者1不能为其他值


A=[1,2,3;5,8,9]
B=[5,6,8;9,10,6]
C=A-B
D=A+B
E=A*B'%%矩阵相乘第一个矩阵的行数和第二个矩阵的列数相同A*B的转置
F=A.*B%%加.是对应项相乘

G=A/B%%是A*B的逆矩阵

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

1.对于方阵A,则存在逆矩阵inv(A)

2.对于非方阵,并不存在逆矩阵,但可以使用pinv(A)求其伪逆

inv( A ) = pinv( A )

但pinv的计算复杂度较高。

矩阵的下标:

A=magic(5)
B=A(2,3)%%取A矩阵中第2行3列的元素
C=A(3,:)%%取A中的第三行所有列
D=A(:,4)%%取A中的第4列
[m,n]=find(A>20)%%找大于A矩阵中大于20的索引值
[m,n]=find(A>10)
D=A(3,:)
[m,n]=find(D>2)

MAtlab逻辑与流程控制:

for的循环控制: 


%%for 循环变量=初值:步长:终值
    %%执行语句
    %%执行语句
    %%执行语句
    %%执行语句
%%end    
步长默认值为1可以不写

例题:1到1000平方求和

例题1到100的阶乘求和:

( 利用的是for循环嵌套)

while的循环结构:

while 条件表达式
        执行语句
        执行语句
        执行语句
end

(满足条件就执行)

例题:求1到9999的和

 if      end结构:

例子没啥好说

 if else end结构体:

也简单没啥说

switch case end结构:

也简单 

二维平面绘图:

注释:Matlab中pi是圆周率      ".*"向量或矩阵相乘必须用这个符号

x=0:0.001:20
y1=200*exp(-0.05*x).*sin(x)
y2=0.8*exp(-0.5*x).*sin(10*x)
figure%创建幕布
[X,Y1,Y2]=plotyy(x,y1,x,y2,'plot')%共用一个X轴的两条y图像
set(get(X(1),'ylabel'),'string','slow Decay')%Y1轴的标签不太理解这里的用法
set(get(X(2),'ylabel'),'string','slow Decay')
xlabel('TIME (\musec)') %x轴的标签
title('Multiple Decay Rates')%图像的标签
set(Y1,'LineStyle','-')%改变Y1线的属性
set(Y1,'LineStyle',':')%改变Y2线的属性

关于set函数和get函数的理解:

为了获得和改变句柄图形对象的属性只需要两个函数。函数get返回某些对象属性的当前值。使用函数get的最简单语法是get(handle, ‘ PropertyName’ )。例如:

      >> p=get(Hf_1, ‘position’ )

返回具有句柄Hf_1图形窗口的位置向量。
函数set改变句柄图形对象属性,使用语法set(handle, ‘PropertyName’ ,value)。
  » set(Hl_a, ‘color’ , ‘r’ )

将具有句柄Hl_a的对象的颜色设置成红色。

 三维立体绘图:

t=0:pi/50:10*pi
plot3(sin(t),cos(t),t)
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
grid on%加网格线
axis square%将图像立体化

 

 大致就先更新到这里等以后在深入学习再补充

就是稍微学了一点不全面如有错误望指正

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李小于

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值