零基础入门Matlab(补充)

目录

1.界面认识

2.变量命名

3.数据类型

4.元胞数组和结构体

5.矩阵操作

6.程序结构

7.基本绘图操作

7.1.二维平面绘图

7.2.三维立体绘图

8.图形的保存与导出

9.补充


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坐标值的范围
  • 1

在这里插入图片描述

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 %使整个图(连同坐标系)呈方体

8.图形的保存与导出

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

1)如图

2)编辑→复制选项

可调节相应元素

3)编辑→图窗属性

4)文件→导出设置

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

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

9.补充

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

输出:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5中隐藏段落,html怎么隐藏p标签

html隐藏p标签的方法:1、给p标签添加hidden属性,语法“”;2、在p标签中使用style属性,添加“display: none”或“visibility: hidden”样式。”;2、在p标签中使用style属性,添加“display: none”或“visib…

Dev C++详细安装教程

Dev-C是一个Windows环境下的一个适合于初学者使用的轻量级 C/C 集成开发环境(IDE)。它是一款自由软件,遵守GPL许可协议分发源代码。它集合了MinGW中的GCC编译器、GDB调试器和 AStyle格式整理器等众多自由软件。 Dev C 5.11 简体中文版下载地…

没有bug队——加贝——Python 练习实例 15,16

目录 15.题目: 16.题目: 15.题目: 利用条件运算符的嵌套来完成此题:学习成绩>90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 程序分析:程序分析:(a>b) ? …

普通html和vue单选框的样式,vue2实现自定义样式radio单选框

先上效果主编已回复:{{item.label}}js:data() {return {radio: 1,radios:[{label: 是,value:1,isChecked: true,},{label: 否,value:2,isChecked: false,},{label: 全部,value:3,isChecked: false,},]}},methods: {check(index) {// 先取消所有选中项this.radios.forEach((item…

Dev C++详细配置

首先在我们进行Dev C配置之前,Dev C一定是安装完毕的。 Dev C安装完毕 点击Finish进行Dev C的配置 首次使用 Dev C 还需要简单的配置,包括设置语言、字体、和主题风格。 第一次启动 Dev C 后,提示选择语言。 这里我们选择简体中文&#x…

用html编写一幅简单的画,使用html5画简单的折线图

//得到画布var can1document.getElementByIdx_x_x_x("can");//得到画笔var cxtcan1.getContext("2d");//定义图表的数据,该方式为创建数组直接量的方式var sale_data[80,92,104,110,68,50,45,90,74,98,103];//首先为背景进行设置渐变的效果,表示…

没有bug队——加贝——Python 练习实例 17,18

17.题目: 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 程序分析:利用 while 或 for 语句,条件为输入的字符不为 \n。 注:char:字符串个数;space:空格个数;diagt&…

快速搞定PCA(主成分分析)(原理 代码 案例)

目录 一、基本介绍 1.1原理 1.2主成分分析的几何解释 1.3主要步骤 1.4主成分个数的选取原则 二、主成分分析代码 2.1MATLAB代码 2.2Python代码 三、实用案例 一、基本介绍 1.1原理 主成分分析是最常用的线性降维方法,通过某种线性投影,将高维的数…

html文件查找关键词,批处理查找文件关键字下一行内容

批处理命令 显示所要查找字符串所在行和下面一行内假设查找内容为“问问”,查找文件为“a.txt”,输出文件为“b.txt”。 在线等Echo Off&Setlocal EnabledelayedexpansionFor /f "tokens1* delims:" %%i in (Type a.txt^|Findstr /n "…

Dev C++ 实现Hello World

新建源文件 打开 Dev C,在上方菜单栏中选择“文件 --> 新建 --> 源代码”: 或者按下CtrlN组合键,都会新建一个空白的源文件,如下图所示: 在空白文件中输入本文开头的代码 注意 *表示源文件没有保存 在上方菜…

没有bug队——加贝——Python 练习实例 19,20

19.题目: 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如61+2+3.编程找出1000以内的所有完数。 程序分析:请参照程序python实例14。我就不在这里过多介绍了。 for j in range(2,1001):k []n …

数据包络分析(DEA)详解(以第八届宁夏省赛为例)

目录 一、基本介绍 1.1原理 1.2CCR模型 1.3BCC模型 二、代码 2.1MATLAB代码 2.2Python代码 三、案例分析 3.1案例介绍 3.2案例分析 3.3案例求解 一、基本介绍 1.1原理 数据包络分析有多种模型,主要为:CCR模型,BBC模型、交叉模型、A&…

Spring Boot EasyUI datagrid

jQueryEasyUI详解 jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。 开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只…

MATLAB使用教程(三)——在文件中编程

1.把matlab编码调整为utf-8编码 首先,删除这个部分(一定先备份这个lcdata.xml文件,备份就是拷贝一个副本),我的是2016版,大概在这里,你们可以搜索以下: 然后,找到这个部分…

Spring Boot EasyUI edatagrid 扩展

edatagrid扩展组件详解 edatagrid组件是datagrid的扩展组件,增加了统一处理CRUD的功能,可以用在数据比较简单的页面。使用的时候需要额外引入jquery.edatagrid.js为了能够把后台自动捕获的异常显示到前台这里必须使用最新版本的jquery.edatagrid.js文件能…

MATLAB使用教程(4)——悄悄滴上手项目

目录 1.计算一元二次方程 2.看一元方程的图形 有个小疑问? 惊喜: 总结 1.计算一元二次方程 这一讲我们以科学计算开始,使用matlab计算精确度很高,我们可以尝试来计算一下黄金分割率(定义大家可以自行百度一下&am…

两万字详细爬虫知识储备,数据采集与清洗基础习题(一)头歌参考答案

数据采集习题参考答案,会持续更新,点个关注防丢失。为了方便寻找,按照头歌的门类从新整理了实训的分类,朋友们记得看标题哦,按标题寻找! 该篇为爬虫知识储备! 文章目录 实训一:HTM…

Spring Boot swagger之前后端分离

前后端分离详解 现在的趋势发展,需要把前后端开发和部署做到真正的分离做前端的谁也不想用Maven或者Gradle作为构建工具做后端的谁也不想要用Grunt或者Gulp作为构建工具前后端需要通过接口来协作 可能是JSON格式的RESTFul的接口可能是XML的接口重点是后台只负责数据…

MATLAB基础教程(5)——斐波那契数列

目录 前言 正文开始啦: 总体思路: 首先创建文件: 编写 fibo_use.m 文件的内容代码 编写 fibonacci_mine.m 文件中的代码 代码运行 总结: 前言 斐波那契数列是一个很有趣的数列,有趣的地方在两点,在…

数据采集与清洗基础习题(二)Python爬虫常用模块,头歌参考答案

数据采集习题参考答案,会持续更新,点个关注防丢失。为了方便查找,已按照头歌重新排版,朋友们按照头歌所属门类查找实训哦,该篇为Python爬虫常用模块。 创作不易,一键三连给博主一个支持呗。 文章目录 实…