【数学建模】MATLAB快速入门

news2024/9/22 4:15:37

文章目录

  • 1. MATLAB界面与基本操作
    • 1.1 MATLAB的基本操作
  • 2. MATLAB字符串和文本
    • 2.1 string变量
    • 2.2 char变量
  • 3. MATLAB的矩阵运算

1. MATLAB界面与基本操作

MATLAB界面与基本操作

初始界面:
初始界面
刚开始的界面只要一个命令行窗口,为了使编辑界面出现我们需要新建一个文件,注意存放文件的文件夹一定要是英文命名,新建文件后打开就会出现编辑器。新建完文件后,点击左上角的新建脚本就会弹出编辑器了。
编辑器

1.1 MATLAB的基本操作

  1. 在命令行中输入指令
  • 输入完成指令后,敲回车就执行。
  1. 在脚本文件中编写程序后运行
  • 脚本文件,就是存放代码的文件,尾缀.m
    脚本文件

当你在脚本文件中写完代码后,如果你要运行就要先保存一次文件。运行后结果会显示在下方的命令行窗口,同时右侧的工具区也会显示变量的值,有点类似vs2022调试后的监视窗口

  • 实时脚本文件,可插入图片,运行时会把结果显示在代码旁边,很适用。
    实时编辑器

点击左上角的新建里面就会有一个实时脚本文件,运行时会把结果显示在代码旁边,不会再下命令行中显示。

  1. 在函数文件中编写程序,然后在脚本文件中调用
  • 函数文件相当于做好一个工具,以后到了需要的时候直接调用就可以了,尾缀也是.m
  • 有固定的格式,例如:function[sigma,theta,x,y,final_res] = simple(f,a,b,index)
  1. 符号
  • 注释:%后面写的内容都是注释,类似于C/C++的//或者python的#
  • 分号:写完一行代码,该行末尾加个分号,会被执行计算,但不会在命令行窗口显示输出
  • 命令行输入:clc(清空命令行),clear(清空工作区),按上方向键调用历史命令,有点类似Linux操作。

在实时脚本文件中,通过运行节可以实现代码的分段运行。
实现代码的分段运行

2. MATLAB字符串和文本

2.1 string变量

  1. 双引号(英文的)
    当我们要定义一个字符串变量时,可以写
t = "hello world"

和C语言的语法也没啥区别。
如果字符串中本质需要右双引号,这就和C语言的处理方法不同了,我们需要加上双重双引号

t = "hello ""haha"" world"

这样的话,t就会等于hello "haha" world
2. 字符串和数组的区别
tmp = 1+1,运行结果是2
tmp = “1+1”,运行结果是1+1
3. 字符串添加数据

a = t+"haha"

矩阵存储多个元素

b = ["a","bb","ccc","dddd"]

演示:
矩阵存储多个元素

2.2 char变量

  1. 单引号
    字符串表示的数据并不对于到文本,例如:
tmp = 'hellomatlab'

char变量

运行出来的结果是1X11,如果是字符串这里会是1X1。也就相当于这是一个字符数组。

如果字符串本身右单引号,则在单引号位置使用双重单引号
如果需要选择第4个字符:

s = tmp(4)
%s就会等于l

MATLAB的数组下标是从1开始的,同时也不能越界访问。

  1. 添加内容
    使用方括号把多个字符数组串联起来
tmp2 = [tmp,'haha']

注意:双引号得到是是1个string变量,单引号得到是是多个char变量

3. MATLAB的矩阵运算

  1. 创建一个1行6列的矩阵:
a = [1 3 5 7 9 11]
  1. 对矩阵中的每个元素都加上3
b = a+3

正常在线性代数的课程都会讲,矩阵的相加只能是同类型的矩阵,所有这里MATLAB会将3变一个充满的3的和a同类型的矩阵相加。
演示:
演示

  1. plot函数绘图,以索引为横坐标,索引就是该数组在矩阵里的第几个类似于数组下标
plot(b)
grid on %在图片中添加网格线

演示

  1. 多维矩阵的创建,以空格或逗号分割同一行元素,分号分割各行.
    常见运算:转置、取逆、求特征值会特征向量
a = [3 2 1;2 4 1;3 9 2]
b = a' %求转置
[d,v] = eig(a)  %求特征值和特征向量
e = inv(a) %求逆矩阵
f = a*e %求证,逆矩阵乘矩阵会得到1

演示:
演示

  1. 矩阵乘法,和矩阵点乘
c = a*b  %矩阵乘法
e = a.*b %矩阵点乘,对应元素相乘

演示:
演示
未完

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

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

相关文章

探索 HarmonyOS 的层叠布局:灵活的 Stack 容器

在应用开发中,灵活的布局设计是提高用户体验的关键之一。HarmonyOS 提供了丰富的布局组件,其中层叠布局(Stack Layout)是一个强大的工具,可以帮助开发者轻松实现元素的重叠显示。本文将深入探讨 Stack 容器的功能和应用…

Spring Boot 整合 Spring AI 实现项目接入ChatGPT(OpenAl的调用)

当前各种AI项目层出不穷,但绝大多数都是用python写的,现在Spring开源了Spring AI项目,让Java开发者也可以轻松给自己的springboot项目集成AI能力。目前spring AI正式版本为0.8.1,支持接入openAI、Ollama、Azure openAI、Huggingfa…

流媒体服务器二:2.RTMP协议学习

一 RTMP协议详解 1.总体介绍 RTMP协议是应⽤层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的。在 基于传输层协议的链接建⽴完成后,RTMP协议也要客户端和服务器通过“握⼿”来建⽴基于传输层链接之 上的…

ES6之Promise对象

【图书介绍】《Node.jsMongoDBVue.js全栈开发实战》-CSDN博客 《Node.jsMongoDBVue.js全栈开发实战(Web前端技术丛书)》(邹琼俊)【摘要 书评 试读】- 京东图书 (jd.com) Promise是ES 6中新增的一种异步编程的解决方案,它可以将异步操作队列…

【电路笔记】-无源衰减器总结

无源衰减器总结 文章目录 无源衰减器总结1、概述2、L-型无源衰减器设计3、T-型无源衰减器设计4、桥接 T 型衰减器设计5、π型无源衰减器设计无源衰减器是一个纯电阻网络,可用于控制输出信号的电平。 1、概述 无源衰减器是一种纯电阻网络,用于削弱或“衰减”传输线的信号电平…

基于ssm+vue+uniapp的二手物品交易平台小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…

银河麒麟V10早期版本安装deb包解决方案

银河麒麟V10早期版本安装deb包解决方案 1、安装kylin-installer2、注意 💖The Begin💖点点关注,收藏不迷路💖 在银河麒麟V10(0710版本前),双击.deb包无法直接安装。但只需简单几步,你…

PyTorch深度学习实战(23)—— 用高级索引实现卷积

在深度学习中,最常用的操作是卷积操作。除了调用PyTorch封装好的函数,读者也可以自行编写一个函数实现卷积功能。根据卷积的定义,只需要遍历整个图像,依次获取与卷积核相乘的子块,相乘求和后就可以得到卷积的结果。为了进一步简化计算,可以采用img2col的思路,将整张图像…

基于web的物流管理系统--论文pf

TOC springboot473基于web的物流管理系统--论文pf 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可…

k8s基础概念以及部署

kubernetes基础概念 来历 kubernetes以谷歌borg为前身,基于谷歌15年生产环境经验开源的一个项目。k8s是一个开源,的分布式的容器编排技术。 k8s的优势 对比对象 裸容器 例如docker,直接将容器部署在宿主机的方式被称为裸容器。 缺点 纯粹的裸…

性能测试之中间件:什么是 kafka 和 MQ ?

在如今这个数据驱动的时代,中间件在性能测试中扮演着至关重要的角色。你是否曾听说过Kafka和MQ,却不清楚它们在实际应用中具体的作用是什么?让我们一起来揭开它们的神秘面纱。 Kafka和MQ究竟是什么?它们在性能测试中如何发挥作用…

C#基于SkiaSharp实现印章管理(6)

除了文本,印章设计模块的绘图功能已经差不多了。在实现文本绘制之前(主要是文本绘制相对比较麻烦),本文先实现将印章导出为pdf或图片的功能。   不论是在控件中绘制,还是在图片或pdf文件中绘制印章,对Ski…

基于web网上村委会业务办理系统pf

TOC springboot472基于web网上村委会业务办理系统pf 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化&…

电话机器人解决销售难题

电销机器人简单理解就是替电销人员打电话的机器人,都说是机器人了,全天保持无休状态肯定是不在话下的。智能外呼电话机器人每日通话量大概在800-1000通,一个AI电话机器人就能顶3个销售人员的日通话量了,电话营销机器人能在批量上传…

高校中的电能消耗管理

2013年1月,住建部发布《绿色建筑行动方案》(国办发「2013」1号)。要求学校、医院等大型公共建筑全面执行绿色建筑标准。安全耐久、生活便利不再是绿色建筑的评价唯一指标,资源节约、环境宜居和健康舒适同样也是绿色建筑的评价指标…

5G+工业互联网产教融合创新实训室解决方案

一、建设背景 随着第五代移动通信技术(5G)的快速普及和工业互联网的迅猛发展,全球制造业正面临着前所未有的深刻变革。5G技术凭借其超高的传输速率、极低的延迟以及大规模的连接能力,为工业自动化、智能制造等领域带来了革命性的…

【NXP-MCXA153】PWM驱动移植

介绍 ‌PWM(‌Pulse Width Modulation)‌,‌脉冲宽度调制,‌是一种数字量控制模拟量的技术,‌常用于电机驱动、显示屏背光控制、逆变控制等;NXP-MCXA153开发板上有多路CTimer定时器,可以用来生…

6. 数据结构—串的匹配算法

1.BF算法(暴力算法) //模式匹配(暴力算法) int Index(SString S,SString T){int i1,j1;while(i<S.length&&j<T.length){if(S[i]T[i]){i;j;}else{ii-j2; //最开始匹配的位置的后一个j1; //从头匹配 }}if(j>T.length)return i-T.length;return return 0…

【Vue3】配置路由规则props

【Vue3】配置路由规则props 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的…

Ubuntu启用root用户

1.1 命令行的组成 在启用 root 用户之前&#xff0c;先来了解一下&#xff0c;ubuntu 命令的组成。 打开 ubuntu 的终端&#xff0c;可以看到命令行是由 topeetubuntu:~$ 这几个字母组成&#xff0c;如下图所示&#xff1a; 对应的说明框图如下&#xff1a; 1.2 由普通用户切…