用高中生的思维写一篇MATLAB入门

news2024/11/28 22:55:55

文章目录

  • 一、简介
  • 二、MATLAB的工作界面
  • 三、基本语句
    • 1、if语句
    • 2、switch语句
    • 3、try语句
    • 4、for语句和while语句
    • 5、break语句和continus语句
  • 四、数值运算
  • 1、基本算术运算
    • 2、format命令
    • 3、关系运算
    • 4、逻辑运算
    • 5、特殊变量和常数
    • 6、数学函数
  • 五、二维平面绘图
    • 1、关于颜色和数据标记点参数选择
    • 2、plot函数
    • 3、图形修饰与控制
    • 4、图形窗口的分割

一、简介

MATLAB是Matrix Laboratory的缩写,含义为矩阵实验室,最初是为了方便矩阵的存取和运算而开发的接口程序。经过几十年的扩充和完善,MATLAB已经成为集科学计算、可视化与编程于一体的高性能的科学工程计算语言和编程开发环境,目前是世界上最流行、应用最广泛的工程计算和仿真软件之一,几乎成为各类科学研究和工程应用中的标准工具。
目前,MATLAB在数值计算、信号处理、图像处理、自动控制、算法设计和通信仿真等众多领域都获得了广泛的应用

MATLAB还使用在数学建模方面,在2022年热播的《天才基本法》中,林朝夕打算使用数学建模的方法来预测车祸地点,在上个课时间研究数学建模,可以看到出他们使用的工具也是MATLAB。
请添加图片描述
请添加图片描述

在通信原理中,MATLAB也可以用作通信的仿真
在这里插入图片描述
在这里插入图片描述

二、MATLAB的工作界面

已MATLAB2022为例,当MATLAB启动时,会显示如下窗口
在这里插入图片描述
命令窗:MATLAB的主窗口,默认位于MATLAB2022下方,用于输入命令、运行命令,以及显示运行结果。
当前目录浏览窗:位于左上侧,用于显示当前工程目录文件夹所包含的文件。

工作区窗:为与左下侧,在命令窗中运行命令和脚本程序生成的变量均保存在工作空间中,需要时可以双击变量名或者在命令窗口输入变量名查看。

M文件编程窗:用MATLAB语言编程的文件编写的文件被称为M文件,按照调用方式不同可以分为命令文件和函数文件

备注:函数文件和命令文件区别
函数文件可以传递参数,而命令文件不具备这种功能
命令文件中的变量是全局变量,文件执行完后还是有效变量,仍然保存在工程区中,而函数文件中的变量都是局部变量,只在本函数中才有效,当函数文件执行完毕后,这些变量将被消除。

三、基本语句

1、if语句

if 表达式
	程序模块1
else
	程序模块2
end

例:百分制成绩学生转换成四级成绩输出

clear 
n=input('输入n='); 

if n>90
 r='A'
elseif n>=80
 r='B' 
elseif n>=70
 r='C'
elseif n>=60 
 r='D'
end

2、switch语句

switch 表达式
	case 数值1
		程序模块1;
	case 数值2
		程序模块2...
	otherwise
		程序模块n
	...
end

在这里插入图片描述

例:将百分制成绩分为5个等级输出,使用switch语句

clear
n=input('输入n= '); 
switch fix(n/10)              
    case {10,9}
        r='A'
    case 8
        r='B'
    case 7
        r='C'
    case 6
        r='D'
    otherwise
        r='E'
end

3、try语句

try
	语句组1
catch
	语句2
end

try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留lasterr变量,并转去执行语句组2

例程如下:

A=[1,2,3;4,5,6]; B=[1,2,3;4,5,6];
try
   C=A*B;
catch
   C=A.*B;
end
disp('C=');
disp(C);
lasterr                %显示出错原因

>> untitled4
C=
     1     4     9
    16    25    36
ans =

    '错误使用  * 
     用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要单独对矩阵的每个元素进行运算,请使用 TIMES (.*)执行按元素相乘。'

备注:矩阵乘法和矩阵点乘区别(考虑到没有学过线性代数的同学,字丑了点…)
请添加图片描述

4、for语句和while语句

for循坏变量=起始值:步长:终止值
	循环体
end

while 表达式
	循坏体
end

例:使用for结构计算1+2+3+…+100

clear
sum=0;
for i=1:100
	sum=sum+i;
end
disp(sum);
%运行结果:sum=5050


clear
sum=0; i=0;
while i<100
	i=i+1;
	sum=sum+i;
end
disp(sum);
%运行结果:sum=5050

5、break语句和continus语句

与循环结构相关的语句还有break语句和continue语句,它们一般与if语句搭配使用。
break语句用于终止循坏的执行,当在循坏体内执行到该语句时,程序将跳出循坏,继续执行循坏语句的下一语句。
continue语句控制跳过循坏体中的某些语句,当在循坏体内执行到该语句时,程序将跳过循坏体所有剩下的语句,继续下一次循坏。

四、数值运算

1、基本算术运算

运算符号
+
-
*
左除\
右除/
幂次方^

例:在MATLAB运算下列式子
20 − 3 ∗ 4 ÷ 10 + 2. 5 2 20-3*4÷10+2.5^{2} 2034÷10+2.52

X=20-3*4/10+2.5^2
disp(X)

%运行结果:25.0500

2、format命令

在这里插入图片描述

3、关系运算

在这里插入图片描述

4、逻辑运算

在这里插入图片描述

5、特殊变量和常数

在这里插入图片描述

6、数学函数

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

五、二维平面绘图

1、关于颜色和数据标记点参数选择

在这里插入图片描述

2、plot函数

help plot
plot - 二维线图
此 MATLAB 函数 创建 Y 中数据对 X 中对应值的二维线图。 要绘制由线段连接的一组坐标,请
将 X 和 Y 指定为相同长度的向量。 要在同一组坐标轴上绘制多组坐标,请将 X 或 Y 中的至少
一个指定为矩阵。
plot(X,Y)
plot(X,Y,LineSpec)
plot(X1,Y1,…,Xn,Yn)
plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn)
plot(Y)
plot(Y,LineSpec)
plot(,Name,Value)
plot(ax,
)
p = plot(___)
输入参数
X - x 坐标
标量 | 向量 | 矩阵
Y - y 坐标
标量 | 向量 | 矩阵
LineSpec - 线型、标记和颜色
字符向量 | 字符串
ax - 目标坐标区
Axes 对象 | PolarAxes 对象 | GeographicAxes 对象
略…

3、图形修饰与控制

title——给图形加标题
xlable——给x轴加标注
ylable——给y轴加标注
text——在图形指定的任意位置加标注
gtext——利用鼠标将标注加到图形任意位置
grid on——打开坐标网格线
grid off——关闭坐标网格线
legnd——添加图例
axis——控制坐标轴刻度

例:绘制两个三角函数

a=0:0.01:2*pi;              %定义X的范围,第二个参数步长
y1=sin(a);
y2=2*sin(a);
plot(a,y1,'r-.',a,y2,'b--'); %绘制当前二维平面图
title('正弦三角函数图像');      %标题
xlabel('x');                %x轴
ylabel('y');                %y轴
grid on;                    %显示坐标网格线

在这里插入图片描述

4、图形窗口的分割

subplot函数调用格式:
subplot(m,n,p)
将函数将当前图形窗口分成m x n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区,在每一个绘图区允许以不同的坐标系单独绘制图形。

a=0:0.01:2*pi;              %定义X的范围,第二个参数步长
y1=sin(a);
y2=sin(2*a);

subplot(2,1,1);
xlim([0,2*pi]);
plot(a,y1); %绘制当前二维平面图
title('正弦三角函数图像');      %标题
xlabel('x');                %x轴
ylabel('y');                %y轴
grid on;                    %显示坐标网 格线

subplot(2,1,2);
plot(a,y2); %绘制当前二维平面图
title('2xsin 正弦三角函数图像');      %标题
xlabel('x');                %x轴
ylabel('y');                %y轴
grid on;                    %显示坐标网格线

在这里插入图片描述

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

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

相关文章

微积分——用积分定义自然对数的动机

第6章 对数函数&#xff0c;指数函数和反三角函数 目录 第6章 对数函数&#xff0c;指数函数和反三角函数 6.1 引言 6.2 用积分定义自然对数的动机 内容来源&#xff1a;<> Tom M. Apostol 6.1 引言 每当有人将他的注意力集中到数量关系的时候&#xff0c;他要么是…

NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_02---大数据之Nifi工作笔记0034

然后我们继续来看,如果需要同步,当然需要先开启mysqlbin log日志了 可以看到开启操作 在windows和linux上开启binlog日志 然后看一下 在windows上开启mysql的binlog的方法

ES X-Pack密码认证与用户管理

用户数据的安全性一直被人诟病且默认没有密码认证&#xff0c;Elasticsearch在6.8之前官方的X-pack安全认证功能都是收费的&#xff0c;所以很多人都采用Search Guard或者ReadOnly REST这些免费的安全插件对Elasticsearch进行安全认证。从Elasticsearch 6.8开始&#xff0c;Sec…

Java集成工作流经典案例(多个项目优化精华版)

前言 activiti工作流引擎项目&#xff0c;企业erp、oa、hr、crm等企事业办公系统轻松落地&#xff0c;请假审批demo从流程绘制到审批结束实例。 一、项目形式 springbootvueactiviti集成了activiti在线编辑器&#xff0c;流行的前后端分离部署开发模式&#xff0c;快速开发平…

爆款来袭!刷屏的Auto-GPT与ChatGPT区别,GPT成为AI领域最受关注的技术,你还在等什么?(狂飙 啊。。。Github 80k star了)

最近全网火爆刷屏的热门词auto-gpt&#xff0c;在全网站频频出现: "ChatGPT 过时了&#xff0c;Auto-GPT才是未来" "它所具备的能力主打的就是一个“自主”&#xff0c;完全不用人类插手的那种&#xff01;" 到底什么是auto-gpt? 1、Auto-GPT和ChatGP…

zabbix创建自定义监控模板之自动注册,代理服务器

目录 第一章zabbix 自动注册&#xff08;对于 agent2 是主动模式&#xff09; 1.1.环境准备 1.2.修改 zabbix-agent2 配置文件 1.3.在 Web 页面配置自动注册 第二章部署 zabbix 代理服务器 2.1.环境部署 2.2.安装 zabbix 所需的数据库yum install -y mariadb-server mar…

ChatGPT应用场景与工具推荐

目录 写在前面 一、关于ChatGPT 二、应用实例 1.写文章 2.入门新的知识 3.解决疑难问题 4.生成预演问题 5.文本改写 6.语言翻译 7.思维导图 8.PDF阅读理解 9.操作格式化的数据 10.模拟场景 11.写代码 三、现存局限 写在前面 本文会简单介绍ChatGPT的特点、局限以…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK获取每张图像的微秒时间和FrameID(C#)

BGAPI SDK获取图像微秒级时间和FrameID Baumer工业相机Baumer工业相机FrameID技术背景一、FrameID是什么&#xff1f;二、使用BGAPI SDK获取图像微秒时间和FrameID步骤 1.获取SDK图像微秒级时间2.获取SDK图像FrameIDBaumer工业相机使用微秒级时间和FrameID保存的用处Baumer工业…

深度理解Vuex的用法及实例讲解

背景&#xff1a; 在项目里面写一个公共的方法&#xff0c;只要有需要的table的column需要变色就直接调用这个方法就好了&#xff0c;不需要在自己的子页面写方法。 如下图&#xff0c;写一个column变色的公共方法。 源代码&#xff1a; 下面的源代码将以上面背景需求为例子…

HTTP协议状态码大全 | 汇总HTTP所有状态码

&#x1f50a; HTTP 状态码 当浏览者访问一个网页时&#xff0c;浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前&#xff0c;此网页所在的服务器会返回一个包含 HTTP 状态码的信息头&#xff08;server header&#xff09;用以响应浏览器的请求。 HTTP…

统计软件与数据分析Lesson8----HTML初识

统计软件与数据分析Lesson8----HTML初识1.什么是 HTML&#xff1f;2.查看HTML源代码3.HTML 标签4.HTML 文档5.编写 HTML6.HTML 标签6.1 HTML 标题6.2 HTML 段落6.3 HTML 链接7.HTML 元素7.1HTML 嵌套元素7.2 HTML空元素8.HTML 属性9. HTML <div> 元素10.其它10.1 HTML 水…

七、网络安全

&#xff08;一&#xff09;网络安全设计 1、网络安全体系设计 &#xff08;1&#xff09;物理安全 通信线路的可靠性、硬软件设备的安全性、设备的备份、防灾害防干扰能力、设备的运行环境、不间断电源 eg机房安全 &#xff08;2&#xff09;系统安全 操作系统本身的缺陷…

MySQL数据库,表的增删改查详细讲解

目录 1.CRUD 2.增加数据 2.1创建数据 2.2插入数据 2.2.1单行插入 2.2.2多行插入 3.查找数据 3.1全列查询 3.2指定列查询 3.3查询字段为表达式 3.3.1表达式不包含字段 3.3.2表达式包含一个字段 3.3.3表达式包含多个字段 3.4起别名 3.5distinct(去重) 3.6order …

如何恢复回收站?数据恢复,这4招就够了!

案例&#xff1a;恢复回收站 【谁能帮帮我这个电脑小白呀&#xff1f;回收站里的文件被删除了还能恢复吗&#xff1f;怎么恢复回收站文件呢&#xff1f;求解答&#xff01;】 电脑的回收站给我们带来了很多的便利&#xff0c;我们可以将删除的数据放入回收站&#xff0c;也可…

OnnxRuntime----Lite-Mono单目深度估计ONNX推理

题目要求&#xff1a;学习了解单目深度估计模型Lite-Mono&#xff0c;根据上篇VSCode配置之OnnxRuntime(CPU) && YOLOv7验证&#xff0c;实现深度估计模型Lite-Mono推理&#xff0c;并集成到现有ONNX系列模型中。 Lite-Mono论文&#xff1a;Lite-Mono:A Lightweight CN…

运算放大器的内部结构-运放

运算放大器的内部结构 算放大器的内部电路&#xff0c;对于使用者在遭遇应用上的极限而导致无法达成系统设计规格时&#xff0c;非常有帮助。而虽然各家厂商推出的运算放大器性能与规格互有差异&#xff0c;但是一般而言标准的运算放大器都包含下列三个部分&#xff1a; 差动…

走进小程序【一】什么是小程序?

文章目录&#x1f31f;前言&#x1f31f;发展史&#x1f31f;什么是[微信小程序](https://developers.weixin.qq.com/miniprogram/dev/framework/)&#xff1f;&#x1f31f;微信小程序能做什么&#xff1f;&#x1f31f;小程序发展前景和优势&#x1f31f;写在最后&#x1f31…

ROS1学习笔记:launch启动文件的使用方法

参考B站古月居ROS入门21讲&#xff1a;launch启动文件的使用方法 基于VMware Ubuntu 20.04 Noetic版本的环境 文章目录一、launch的文件结构二、launch的文件语法2.1 根元素2.2 参数设置2.3 重映射和嵌套三、相关示例simple.launchturtlesim_parameter_config.launchstart_tf_d…

SpringBoot 整合 JSP和MyBatis

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

【满血Buff】ChatGPT科普篇,三段式介绍,内含各种高效率插件

【满血Buff】ChatGPT科普篇&#xff0c;三段式介绍&#xff0c;内含各种高效率插件1、ChatGPT是什么2、为什么要掌握ChatGPT效能工具3、ChatGPT能做什么4、和ChatGPT相关的谷歌插件4.1 WebChatGPT4.2 OpenAI Ttanslator 翻译4.3 ChatGPT for Google本篇博客采用三段论的叙事方式…