零基础入门Matlab(一篇两个小时就能学完的入门博客)-程序员宅基地

技术标签: matlab  数学建模  

零基础入门matlab

前言

这篇文章很适合MATLAB的入门学习,这也是我在入门时学习的笔记。

虽然说是”零基础“入门matlab,但是如果有其它编程语言基础的话,学起来自然会更轻松。

特别鸣谢:B站UP主——爱研究的小阿楠

1.界面认识

在这里插入图片描述

2.变量命名

注:Matlab中的注释

%% 独占一行的注释(有上下横线分割)

% 普通注释

1)清空环境变量及命令

clear all 清除Workspace中的所有变量(右侧工作区)

clc 清除Command Window中的所有命令(命令行窗口)

2)变量命名规则

①变量名区分大小写

②变量名长度不超过63位(hhh,不会有人把变量名弄这么长吧~)

③变量名简洁明了,尽量做到见名知意

3.数据类型

1)数字

2 + 4

10-7

3*5

8/2

2)字符与字符串

s = ‘a’ (单引号表示字符串)

==abs(s)==ASCII码

char(97) 输出 a (ASCII码转字符串)

num2str(65) 输出数字65

str=‘I love MATLAB & Machine Learning’

length(str) 字符串长度

doc num2str

3)矩阵(Matlab最NB的东西)

A = [1 2 3; 4 5 2; 3 2 7]
在这里插入图片描述
B = A'把A进行转置,行变列,列变行

在这里插入图片描述
C = A(:) 竖向拉长(不好描述,直接看下图)

在这里插入图片描述

D = inv(A) 逆矩阵(必须时方阵才能求逆矩阵)

执行下面两条语句

D = inv(A) (求逆矩阵)
A * D (相当于A×A的逆)

在这里插入图片描述
E = zeros(10,5,3) 创建一个10行5列3维的全0矩阵

在这里插入图片描述

在这里插入图片描述

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

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

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

rand(m,n,‘double’)生成指定精度的均匀分布的伪随机数,参数还可以是’single’

rand(RandStream,m,n)利用指定的RandStream(随机种子)生成伪随机数

E(:,:,2) = randi(5,10,5)

randi生成均匀分布的伪随机数

主要语法:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机数

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

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

E(:,:,3) = randn(10,5)

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

主要语法:和上面一样

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

4.元胞数组和结构体

元胞数组:是MATLAB中特有的一种数据类型,是数组的一种,其内部元素可以是属于不同的布局类型,概念理解上,可以认为它和C语言里面的结构体、C++里面的对象很类似。元胞数组是MATLAB中的特色数据类型,它不同于其它数据类型(如字符型,字符数组或者字符串,以及一般的算数数据和数组)。它特有的存取数据方法决定了它的特点,它有给人一种查询信息的感觉,可以逐渐追踪一直到所有的变量全部翻译成基本数据信息。它的class函数输出就是cell(细胞)

%元胞数组
A = cell(1,6)
A{
    2} = eye(3) %2021版本前的matlab下标从1开始
A{
    5} = magic(5)
B = A{
    5}

注:magic:字面意思是魔方,魔术的意思。在MATLAB中用来生成n阶幻方。比如三阶幻方就是1-9九个数字,组成一个3*3的矩阵,使得该矩阵无论横、竖还是斜三个方向上的三个数的和总是相同的。幻方是一个很古老的问题,试一下就知道了!

在这里插入图片描述

结构体

%结构体
books = struct('name',{
    {
    'Machine Learning','Data Mining'}},'price',[30,40])
books.name %属性
books.name(1)
books.name{
    1}

在这里插入图片描述

5.矩阵操作

1)矩阵的定义与构造

A = [1,2,3,4,5,6,5,4,6]
B = 1:2:9 %第二个参数为步长,不可缺省
B = 1:3:9
C = repmat(B,3,2) %重复执行3行2列
D = ones(2,4) %生成一个2行4列的全1矩阵

在这里插入图片描述

2)矩阵的四则运算

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的逆 G*B = A  G*B*pinv(B) = A*pinv(B)  G = A*pinv(B),相当于A乘B
H = A ./ B % ./表示对应项相除

在这里插入图片描述

在这里插入图片描述

3)矩阵的下标

A = magic(5)
B = A(2,3)
C = A(3,:) % :为取全部,那么这条语句表示取第三行
D = A(:,4) %取第四列
[m,n] = find(A > 20) %找到大于20的序号值/矩阵
%取的是索引值

在这里插入图片描述

在这里插入图片描述

6.程序结构

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.基本绘图操作

7.1.二维平面绘图

%1.二维平面绘图
x = 0:0.01:2*pi %定义x的范围,第二个参数表示步长
y = sin(x)
figure %建立一个幕布
plot(x,y) %绘制当前二维平面图
title('y = sin(x)') %标题
xlabel('x') %x轴
ylabel('sin(x)') %y轴
xlim([0 2*pi]) % x坐标值的范围

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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的坐标系,在y上有不同的取值
%设置相应的标签
set(get(AX(1),'Ylabel'),'String','Slow Decay')
set(get(AX(2),'Ylabel'),'String','Fast Decay')
xlabel('Time(\musec)')
title('Multiple Decay Rates')
set(H1,'LineStyle','--')
set(H2,'LineStyle',':')

在这里插入图片描述

7.2.三维立体绘图

%2.三维立体绘图
t = 0: pi/50: 10*pi;
plot3(sin(t),cos(t),t)
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
%hold on
%hold off %不保留当前操作
grid on %把图片绘制出来,在图片中加一些网格线
axis square %使整个图(连同坐标系)呈方体

在这里插入图片描述
注:关于hold on 和 hold off的用法:点这

8.图形的保存与导出

如果直接用截图的方式截取matlab生成的图像,会影响图像的清晰度。因此我们建议:可以用如下方法保存与导出图形。

1)如图在这里插入图片描述

在这里插入图片描述

2)编辑→复制选项

可调节相应元素

在这里插入图片描述

3)编辑→图窗属性

在这里插入图片描述

4)文件→导出设置

在这里插入图片描述

通过调节宽度、高度等像素值属性,可以让图片即使很小,文字依然清晰。

Matlab基础的部分到这就结束了,下面作一点补充~

9.补充

[x,y,z] = peaks(30); %peaks命令用于产生双峰函数或者是用双峰函数绘图
mesh(x,y,z)
grid

在这里插入图片描述
完结~
感谢大家的支持、点赞、收藏、关注以及批评指正~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46125998/article/details/118991929

智能推荐

【HTML 教程系列第 13 篇】HTML 中的超链接标签 a,看这一篇就够了_html 超链接-程序员宅基地

文章浏览阅读1w次,点赞54次,收藏129次。一:什么是超链接。二:如何实现超链接。三:文本超链接、图片超链接。四:a 标签的 target 属性。五:超链接的外部链接、内部链接、锚点链接。_html 超链接

can总线不加末端电阻_隔离接地的原理、完善总线接口保护电路及阻容回路接地的必要性...-程序员宅基地

文章浏览阅读565次,点赞2次,收藏10次。CAN与485都是工业通信中常用的现场总线,各位工程师对于总线隔离方案想必都极为熟悉,但可能会遇到总线采用了隔离方案依旧通讯异常的情况,本文将带您一起探讨总线隔离后该如何接地? 前言为保证总线网络的通讯稳定性,通讯接口通常会做隔离,隔离的主要目的:安规考虑:保护设备及人身安全,隔开潜在的高压危险;提高通信的稳定性:消除地电势差的影响;提高器件的可靠性:消除地环路影响;低耦合:提高系统间的兼容性。目..._can必须要端接回路

【手把手教学】如何可视化YOLOv8深度学习的网络结构并保存_yolov8 模型保存-程序员宅基地

文章浏览阅读1.2k次。【手把手教学】如何可视化YOLOv8深度学习的网络结构并保存_yolov8 模型保存

大数据毕业设计:基于python商品数据采集分析可视化系统 淘宝数据采集 大数据 大屏可视化(附源码+论文)_python商品数据分析可视化系统-程序员宅基地

文章浏览阅读1.9k次,点赞30次,收藏24次。大数据毕业设计:基于python商品数据采集分析可视化系统 淘宝数据采集 大数据 大屏可视化(附源码+论文)_python商品数据分析可视化系统

TOAD中文文档-程序员宅基地

文章浏览阅读172次。目录一.Toad功能综述二.系统需求三.安装指南四.快速入门1. Schema browser的用法简介2. SQL Editor的使用介绍3. Procedure Editor的用法介绍4. 如何进行PLSQL的debug5. 如何使用SQLab Xpert优化SQL6. 如何使用SQL Modeler来编写查询7. 如何使用Toad的DBA方面的功能 一、 Toad..._sqlab xpert 如何使用

iOS开发零碎知识点_ios开发 colorwithpatternimage超出的部分还会绘制-程序员宅基地

文章浏览阅读2.4w次,点赞31次,收藏24次。记录一些常用和不常用的iOS知识点,防止遗忘丢失。(来源为收集自己项目中用到的或者整理看到博客中的知识点),如有错误,欢迎大家批评指正;如有好的知识点,也欢迎大家联系我,添加上去。谢谢!欢迎大家关注文明的iOS开发公众号: 方式1、搜索:“iOS开发by文明” 方式2、扫描下方二维码 一、调用代码使APP进入后台,达到点击Home键的效果。(私有API) [[UIAp..._ios开发 colorwithpatternimage超出的部分还会绘制

随便推点

vue 项目中添加DES加密-程序员宅基地

文章浏览阅读615次,点赞24次,收藏20次。vue 项目中添加DES加密

十进制,二进制,八进制,十六进制之间转换-程序员宅基地

文章浏览阅读355次。一. 十进制转二进制二. 二进制转十进制三. 十进制转八进制四. 八进制转十进制五. 十进制转十六进制

域控制器常用组策略功能配置说明_在用户策略处理过程中遇到下列警告:windows无法应用deployed printer conne-程序员宅基地

文章浏览阅读794次。Windows 无法应用 Deployed Printer Connections 设置。Deployed Printer Connections 设置可能具有自身的日志文件。请单击“详 细信息”链接限制windows更新限制windows版本禁止使用USB存储设备通过域控制器批量激活_在用户策略处理过程中遇到下列警告:windows无法应用deployed printer connection

SpringBoot2.x系列教程之SpringBoot2.x配置大全04_DataSource配置_spring.datasource.connection-timeout-程序员宅基地

文章浏览阅读2k次。SpringBoot2.x系列教程之SpringBoot2.x配置大全04_DataSource配置DataSource相关配置:spring.dao.exceptiontranslation.enabled: 是否开启PersistenceExceptionTranslationPostProcessor,默认为truespring.datasource.abandon-when-..._spring.datasource.connection-timeout

Python番外篇:爬取国际空间站实时经纬度 并用Pygame可视化位置_国际空间站数据获取-程序员宅基地

文章浏览阅读1.7k次,点赞5次,收藏3次。hello,大家好,我是wangzirui32,今天在网上看到一个Python程序,是爬取国际空间站实时经纬度并显示到地图上,我自己也想学习做一个这样的项目,顺便巩固亿下Python的基础知识。学习目录1. 国际空间站经纬度查询网址2. 图片素材3. 创建项目文件夹4. 编写代码get_data.py 获取经纬度数据ISS.py 创建空间站对象show_map.py 显示ISS位置5. 展示结果1. 国际空间站经纬度查询网址http://api.open-notify.org/iss-now.jso_国际空间站数据获取

docker运行WRF测试_用docker可以跑wrf模式吗-程序员宅基地

文章浏览阅读2.3k次。WRF测试用例镜像和数据都是提前准备好的镜像包:wrfwps.v422.tgz镜像:wrfwps:v4.2.2地理数据包:geog_high_res_mandatory.tar.gz气象数据包:JAN00_GFS_FNL.tar.gz测试命令:docker run -ti --rm wrfwps:v4.2.2 -- tcsh -c "script.csh RUN em_real 34 em_real 01 NP=3 ; set OK = \$status ; echo \$OK for te_用docker可以跑wrf模式吗

推荐文章

热门文章

相关标签