零基础学习Matlab,适合入门级新手,了解Matlab

一、认识Matlab

Matlab安装请参见博客 安装步骤

1.界面

在这里插入图片描述

2.清空环境变量及命令

(1)clear all :清除Workspace中的所有变量

(2)clc:清除Command Window中的所有命令

二、Matlab基础

1.变量命名规则

(1)变量名区分大小写;

(2)变量名长度不超过63位;

(3)变量名以字母开头,可以由字母、数字和下划线组成,但不能使用标点;

(4)变量名应简介明了,通过变量名可以直观看出变量所表示的物理意义;

2.注释

%% 注释一行,会出现横线
% 注释不出现横线

在这里插入图片描述

3.Matlab数据类型

(1)数字

(2)字符与字符串

(3)矩阵

%矩阵
A = [1 2 3;4 5 6 ;7 8 9]
B = A'
C = A(:) %将矩阵竖着取出来
D = inv(A) %求逆,矩阵必须为方阵

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

E = zeros(10,5,3) %三维度
%下面输出 E(:,:,1)表示第一维

在这里插入图片描述

rand、randi、randn的区别?

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

主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数;rand(m,n,‘double’)生成指定精度的均匀分布的伪随机数,参数还可以是‘single’;rand(RandStream,m,n)利用指定的RandStream生成伪随机数

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

主要语法:同上

3.randi生成均为分布的伪随机整数

主要语法:randi(iMax)在区间(0,iMax)生成均为分布的伪随机整数;randi(iMax,m,n)在区间(0,iMax)生成m X n型随机矩阵;randi([iMin,iMax],m,n)在区间(iMin,iMax)生成m X n型随机矩阵

E(:,:,1) = rand(10,5)
E(:,:,2) = randi(5, 10,5)
E(:,:,3) = randn(10,5)

在这里插入图片描述

(4)元胞数组

元胞数组是Matlab中特有的一种数据类型,是数组的一种,其内部元素可以是属于不同的数据类型,概念理解上,可以认为它和C语言里面的结构体、C++里面的对象很类似。它特有的存取数据方法决定了它的特点,它有给人一种查询信息的感觉,可以逐渐追踪一直到所有的变量全部翻译成基本的数据信息。

A = cell(1, 6)

在这里插入图片描述

A{2} = eye(3)

在这里插入图片描述
magic字面意思是魔方,魔术的意思。在matlab中用来生成n阶幻方。比如三阶幻方就是1-9九个数字,组成一个3*3的矩阵,使得该矩阵无论横、竖还是斜三个方向上的三个数的总和是相同的。

A{5} = magic(5)

在这里插入图片描述

在这里插入图片描述

B = A{5}

在这里插入图片描述

(5)结构体

books = struct('name',{{'Machine Learing','Data Mining'}},'price',[30 40])
books.name
books.name(1) % 元胞数组
books.name{1} %字符串

在这里插入图片描述

4.矩阵定义与构造

A = [1 2 3 5 8 8 4 6]
B = 1:2:9
C = repmat(B,3,1)
D = ones(2,4)

在这里插入图片描述

5.矩阵的四则运算

A = [1 2 3 4;5 6 7 8]
B = [1 1 2 2;2 2 1 1]
C = A + B
D = A - B
E = A * B'
F = A .* B %对应项相乘
G = A / B %相当于A乘B的逆
H = A ./ B %对应项相除

在这里插入图片描述

6.矩阵的下标

A = magic(5)
B = A(2,3)
C = A(3,:) %第三行
D = A(:,4) %第四列
[m,n] = find(A > 20) %找大于20的序号值/矩阵,取出索引值

在这里插入图片描述

三、Matlab绘图

1.二维平面绘图1

x = 0:0.01:2*pi;
y = sin(x);
figure  %建立一个幕布
plot(x,y)
title('y = sin(x)')
xlabel('x')
ylabel('sin(x)')
xlim([0 2*pi]) %x轴的取值范围

在这里插入图片描述

2.二维平面绘图2

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x)
y2 = 0.8*exp(-0.5*x).*sin(10*x)
figure
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');%共用一个x轴
set(get(AX(1),'Ylabel'),'String','Slow Decay')
set(get(AX(2),'Ylabel'),'String','Fast Decay')
xlabel('Time(\musec)')
title('Multiple Deacy Rates')
set(H1,'LineStyle','--')
set(H2,'LineStyle',':')

在这里插入图片描述

3.三维立体绘图

t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t) %三维绘图用plot3
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
grid on %添加网格线
axis square

在这里插入图片描述

%双峰模型
[x,y,z] = peaks(30);
mesh(x,y,z)
grid

在这里插入图片描述

四、Matlab图像的导出

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值