当前位置: 首页 > news >正文

零基础学习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图像的导出

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

在这里插入图片描述

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

在这里插入图片描述

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

http://www.lryc.cn/news/228289.html

相关文章:

  • CCF ChinaSoft 2023 论坛巡礼 | 自动驾驶仿真测试论坛
  • vue封装useWatch hook支持停止监听和重启监听功能
  • 智能配方颗粒管理系统解决方案,专业实现中医药产业数字化-亿发
  • PXI总线测试模块-6951E 信号分析仪
  • 精确杂草控制植物检测模型的改进推广
  • C++:对象成员方法的使用
  • 深入了解SpringMvc接收数据
  • 华东“启明”青少年音乐艺术实践中心揭幕暨中国“启明”巴洛克合奏团首演音乐会
  • 17. 机器学习——SVM
  • 算法导论笔记5:贪心算法
  • Vue的高级表格组件库【vxe-table】
  • 从0到0.01入门React | 002.精选 React 面试题
  • 假冒 Skype 应用程序网络钓鱼分析
  • 软件外包开发的需求表达方法
  • 详解JS的四种异步解决方案:回调函数、Promise、Generator、async/await
  • Python进行多线程爬取数据通用模板
  • 基于springboot实现沁园健身房预约管理系统【项目源码】
  • 论文笔记:Deep Trajectory Recovery with Fine-Grained Calibration using Kalman Filter
  • ubuntu下tensorrt环境配置
  • 网络安全基础之php开发文件下载的实现
  • 【学习笔记】 - GIT的基本操作,IDEA接入GIT以及上传hub
  • Antd React Form.Item内部是自定义组件怎么自定义返回值
  • 2023最新ACL大模型论文分类汇总(有代码的)
  • Java版 招投标系统简介 招投标系统源码 java招投标系统 招投标系统功能设计
  • Ubuntu 22.04源码安装cmake 3.27.7
  • 无人地磅称重系统|自助过磅 料仓联动 自助卸料
  • 冥想第九百七十三天
  • ROS 学习应用篇(三)话题Topic学习之自定义话题消息的类型的定义与调用
  • 财税服务展示预约小程序的作用是什么
  • RT-Thread提供的网络世界入口 -net组件