数学建模--Matlab操作与运算

目录

1.点运算

2.文件介绍

(1)文件分类

(2)温度转换

(2)函数调用

(3)建模经验

(4)注意事项

(5)多个返回值情况 

 (6)两种类型文件的转换

3.条件&&循环语句

(1)if语句

(2)switch语句

(3)for语句

(4)while循环

​编辑 (5)break&continue使用

(6)循环嵌套


1.点运算

(1)点运算是matlab里面的一种特殊的运算,也是matlab里面的亮点所在,就是例如.*   ./   .^这样的我们都称之为点运算,就是在原来的运算符的基础上面添加了一个点,我们把这样的运算符叫做点运算符,这样的运算符连接起来的运算叫做点运算;

(2)很多时候,同学们就是很好奇这个点运算有什么用,下面通过这两个例子介绍一下点运算的用法,再去介绍这个运算的相关的规则;

 下面的就是我在自己的matlab上面实操一下,做出来的图形:

实际上这个点成的使用场景就是两个向量之间的相乘,一个数字和一个向量相乘就不需要使用点乘,因为这个时候如果这两个操作数里面有一个是数字,那么这个运算符使用点乘和乘号的效果是一样的,我们在这个matlab里面必须要具有一个向量的概念,这个概念和这个数学里面的向量还是不一样的,因为这个数学建模里面的向量不是一个元素,是可以有很多个元素的,类似于矩阵,一个向量和另外一个向量相点乘,我们使用的就是这个对应位置元素相乘,和这个矩阵里面的乘法是不一样的,而且这个情况下两个矩阵的行数和列数一定要相等;

(3)下面的是一个点运算在参数方程里面的运用,plot(x,y)就是表示画出来这个二维的平面图形;

这个里面的t就是一个有很多个元素组成的行向量,sin(t)也是与之对应的一个向量,因此在写这个第三行的代码的时候,这个向量之间的乘法就是使用的是点乘运算,第二行的sin里面的就是一个数字和向量相乘,这个时候两个方式都是可以的; 

2.文件介绍

(1)文件分类

在matlab里面有这个m文件,因为我学习的这套课程使用的matlab版本是较低的,因此这个m文件在我们现在使用的高版本里面就是mlx文件,即实时脚本,读者清楚就可以了,m文件就是一种在matlab环境里面可以直接运行的文件;

在这个m文件里面,拥有这个命令文件和函数文件;

(2)温度转换

首先我们通过一个华氏温度和摄氏温度转换的例子认识一下这个m文件里面的命令文件,我们下面可以清楚的看到这个就是先输入一个温度,在去调用这个转换的式子,最后想要达到的效果就是输出我们想要的结果;这个需要的就是我们对于这个文件进行命名,之后直接在这个命令窗口里面输入这个文件的名字,输入温度之后就可以进行这个相应的转换了;

 大家可以看到,我在这个上面是尝试了好几次的,原因就是这个我最开始的时候这个在17行后面加上了分号,导致这个结果一直没有显示出来,因此这个最后发现之后才打印出来这个转换之后的结果;这个实际上也可以不借助这个脚本完成,我们可以直接把这个几行代码粘贴到命令行窗口里面去实现这个温度的转换,这个读者可以下去尝试;

(2)函数调用

下面试用一下这个函数文件,这个函数文件也是在脚本里面写入的,以function关键字开头,w就是一个变量的名字,用来接收这个函数的运行结果,wendu2就是这个函数的名字,后面的括号里面的表示的就是这个自变量,我们就可以理解为这个sin(x)这样的函数,这里只不过是我们自己定义一个名字叫做wendu2的函数,w这个就是一个变量可以随便取一个名字;

第二行就是这个函数的表达式,这个就是一个函数文件,这个文件写完之后,不可以直接运行,而是要在这个命令行里面进行这个调用,也可以在其他的脚本文件里面进行调用都是可以进行这个尝试的;

上面的这个就是在命令行里面调用函数的方法,我们需要使用一个变量接受这个结果,这个变量既可以是我们的函数文件里面的变量,也可以是其他的变量,这个都是没有问题的,我已经进行了尝试;这个函数文件在编写完成,保存的时候这个文件的名字就是系统会默认使用这个函数名字作为这个文件的名字,但是上面的命令文件就不会这样做,这个也是两者之间的一个区别;

下面的就是在这个其他的脚本文件里面去调用函数,我是在另外一个文件里面调用的,上面显示也是可以去得出这个转换后的记过的;

(3)建模经验

虽然上面的这个函数文件编写,这个函数调用并不是很困难,但是这个告诉我们,我们要敢于去打破这个程序,敢于尝试,例如上面我们就可以自测看看是否可以在其他的脚本文件里面去调用这个函数,是否可以使用这个不同的名字的变量去接受这个函数的运行结果,这些东西我们哦平常就要去刻意地进行训练,作为数模人,我们就应该具备这样的意识;

(4)注意事项

上面我们就是把一个数据带入这个函数进行运算,实际上这个是可以带入一组元素进行运算的,我们自己定义一个行向量x带入这个函数进行运算,输出的结果就是一组行向量;这个地方需要注意的一个点就是,我们的这个x是以一个向量的形式带入的,那么这个函数就需要支持这个运算,原来的这个乘法除法就需要进行检验,看看这个是否需要加上点,例如这个函数里面的除以9改为其他的向量,这个时候前面是向量,后面是向量,我们这个就不可以使用普通的乘法了,而是要使用点乘运算,这个也是我们需要注意的,可能原来只是单个运算的时候不会出现这个问题,但是一旦我们引入了向量之后,这个需要注意点运算和向量的匹配问题;

(5)多个返回值情况 

接下来这个函数是有多个返回值的,就是我们调用这个函数可以返回两个数值,一个是这个圆的周长,一个是圆的面积,下面看一下这个返回值的写法;

这个计算面积s的时候,使用了一个乘号以及一个点乘,这个点乘是因为前面的r是一个变量可以是一个行向量,乘号是因为这个前面是一个常数pi,数字和向量相乘,可以不需要使用点乘符号;

下面我们让这个circle函数有两个返回值,一个周长,一个面积,同样这个我们可以使用一个数值带入函数计算,也可以使用一个向量带入函数运算,但是这个输出的结果好像不太对,我们可以自己进行这个尝试;

实际上,这个只需要在命令行里面写出来这个返回值的个数,而且这个脚本里面的面积和周长的计算公式里面后面加上逗号就不会出现这个ans行向量了;

 (6)两种类型文件的转换

我们的这个案例就是生成一个范德蒙德行列式(属于线性代数知识,自行学习),其实这个行列式的特征也是非常明显的,就是每一列都是倍数增加的,我们就是使用一个循环实现的;

实际上这个纯脚本文件编写时候,我们如果在这个循环语句的后面不添加上这个分号,就会打印出来五个矩阵,我们加上分号之后,最后再循环语句结束之后,打印出来d就是最后一次循环运行的结果; 

 下面看一下这个函数文件的编写和调用代码:

下面的这两个名字必须是一样的,否则会报错 ,可以把这个f理解为函数的返回值,把这个函数的运算结果赋值给f这个返回值;

3.条件&&循环语句

(1)if语句

这个语句可以是单分支的,也可以是多分支的,这个其实和其他的编程语言没有什么区别,就不再进行赘述了;

(2)switch语句

下面的这个switch案例是一个和这个商品的打折相关的问题,前期我们呢看一下熟悉这个语句的用法,实际上赛题里面好像用到的可能性也不是很大;

通过下面的这个也可以验证function的后面名字作为返回值接受这个函数的执行结果的,这两个未知的名字必须是一样的;

(3)for语句

下面的就是一个求和运算,我们使用for循环实现:

 

矩阵的元素求和的运算:

我们通过测试就可以发现这个每一次取出的就是矩阵里面的一列,但是求和的时候求解的是每一行的结果,disp表示的就是把这个结果显示在屏幕上面,s'表示的就是对于这个得到的结果转置;

(4)while循环

 (5)break&continue使用

像rem这个求余数的函数,我们就可以直接在百度上查,学习到一定的阶段之后就可以开始记住一些经常使用的,开始的时候不要pua自己;

(6)循环嵌套

 

 

我在下面演示的时候,把这个矩阵的内容进行了修改:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

离线部署OpenIM

目录 1.提取相关安装包和镜像 2.安装docker和docker-compose 3.依次导入镜像 4.解压安装包 5.执行安装命令 6.PC Web 验证 7.开放端口 7.1IM 端口 7.2Chat 端口 7.3 PC Web 及管理后台前端资源端口 “如果您在解决类似问题时也遇到了困难,希望我的经验分享…

将深度相机的实时三维坐标数据保存为excel文档(Python+Pyrealsense2+YOLOv8)

一、如何将数据保存为excel文档 1.excel文件库与相关使用 (1)导入相应的excel文件库,导入前先要进行pip安装,pip install xlwt import xlwt # 导入用于创建和写入Excel文件的库 (2) 建立一个excel文档,并在第0行写…

Python | Leetcode Python题解之第198题打家劫舍

题目: 题解: class Solution:def rob(self, nums: List[int]) -> int:if not nums:return 0size len(nums)if size 1:return nums[0]first, second nums[0], max(nums[0], nums[1])for i in range(2, size):first, second second, max(first nu…

读AI新生:破解人机共存密码笔记12人工智能辩论

1. 言论 1.1. 对一个人终身职业的威胁,可能会使一个非常聪明的、通常很有思想的人说出一些话,但在进一步分析后,他们很可能希望收回这些话 1.2. 电子计算器在算术方面是“超人”,但是计算器并没有接管世界,因此&…

IMX6ULL SD卡启动uboot+kernel+rootfs

目录 1. 背景说明 2.SD卡启动 2.1准备条件 2.2 对SD卡分区格式化 2.3 制作sd卡镜像 3.效果测试 1. 背景说明 网络上绝大数教程,教大家把uboot烧录到SD卡,然后uboot启动后,通过TFTP下载kernel和设备树,然后通过nfs挂载文件系…

laravel的日志使用说明

文章目录 了解系统的默认支持多个通道时它们的关系如何使用驱动 了解系统的默认支持 Laravel 日志基于「 通道 」和 「 驱动 」的。那么这个通道是干嘛的?驱动又是干嘛的? 通道 : 1.它表示了某种日志格式化的方式(或可理解为某个…

理解CNN模型如何学习

深度学习模型常常被认为是不可解释的。但是人们正在探索不同的技术来解释这些模型内发生了什么。对于图像,由卷积神经网络学习的特征是可解释的。我们将探索两种流行的技术来理解卷积神经网络。 可视化中间层的输出 可视化中间层的输出将有助于我们理解输入图像如何…

办公软件的答案?ONLYOFFICE 桌面应用编辑器会是最好用的 Office 软件?ONLYOFFICE 桌面编辑器使用初体验

文章目录 📋前言🎯什么是 ONLYOFFICE🎯 主要功能介绍及 8.1 新功能体验🎯 在线体验📝最后 📋前言 提到办公软件,大家最常用的可能就是微软的 Microsoft Office 和国产的 WPS Office。这两款软件…

使用API有效率地管理Dynadot域名,为文件夹中的域名进行域名停放

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

解锁高效办公:ONLYOFFICE新版本8.1功能揭秘与个人实战体验

文章目录 💯ONLYOFFICE 桌面编辑器 8.1 ✍1 新增功能介绍✍2 轻松编辑器PDF文件🍓2.1 PDF新增编辑器操作🍓2.2 PDF新增表单操作 ✍3 用幻灯片版式快速修改幻灯片✍4 无缝切换文档编辑、审阅和查看模式✍5 改进从右至左语言的支持 & 新的本…

C++——布隆过滤器

目录 布隆过滤器的提出 布隆过滤器的概念 布隆过滤器的基本原理和特点 布隆过滤器的实现 布隆过滤器的插入 布隆过滤器的查找 布隆过滤器的删除 布隆过滤器的优点 布隆过滤器的缺陷 布隆过滤器使用场景 布隆过滤器的提出 在注册账号设置昵称的时候,为了保证…

【已解决】SpringBoot图片更新需重启服务器才能显示

问题描述 1、更新头像,并跳转回列表页,发现显示不出来 2、但是前端获取用户头像的信息是在加载页面就会被调用的,同时前端也不存在所谓的缓存问题,因为没有动这部分代码。 但查看响应是能获得正确的信息(前端打印图片…

Docker 下载与安装以及配置

安装yum工具 yum install -y yum-ulits配置yum源 阿里云源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装Docker 17.03后为两个版本: 社区版(Community Edition,缩写为 CE&#x…

内网一键部署k8s-kubeshpere,1.22.12版本

1.引言 本文档旨在指导读者在内网环境中部署 Kubernetes 集群。Kubernetes 是一种用于自动化容器化应用程序部署、扩展和管理的开源平台,其在云原生应用开发和部署中具有广泛的应用。然而,由于一些安全或网络限制,一些组织可能选择在内部网络…

【踩坑】修复循环设置os.environ[‘CUDA_VISIBLE_DEVICES‘]无效

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 问题示例 for gpus in [0, 1, 2, 3, 4, 5, 6, 7]:os.environ[CUDA_VISIBLE_DEVICES] gpusprint(torch.cuda.get_device_name(0)) 始终将使用第…

专业技能篇---计算机网络

文章目录 前言计算机网络基础一、网络分层模型 HTTP一、从输入URL到页面显示发生了什么?二、Http的状态码有哪些?三、 HTTP与HTTPS有什么区别?四、URI 和 URL 的区别是什么?五、Cookie和Session有什么区别?六、GET与POST WebSock…

期货投机的操作

期货投机是一种高风险、高回报的投资方式,吸引着众多投资者参与。将深入探讨期货专业投机的操作秘诀,帮助投资者掌握必要的知识和技巧,在期货市场中驰骋。 一、期货专业投机的本质 期货投机是利用期货合约进行买卖,以赚取差价的一…

Diffusion Mamba:用于CT到MRI转换的Mamba扩散模型

Diffusion Mamba:用于CT到MRI转换的Mamba扩散模型 提出背景拆解左侧:整体框架中间:Mamba块的细节右侧:螺旋扫描的细节 提出背景 论文:https://arxiv.org/pdf/2406.15910 代码:https://github.com/wongzbb…

JAVA【案例5-2】模拟默认密码自动生成

【模拟默认密码自动生成】 1、案例描述 本案例要求编写一个程序,模拟默认密码的自动生成策略,手动输入用户名,根据用户名自动生成默认密码。在生成密码时,将用户名反转即为默认的密码。 2、案例目的 (1&#xff09…

超简单的nodejs使用log4js保存日志到本地(可直接复制使用)

引入依赖 npm install log4js 新建配置文件logUtil.js const log4js require(log4js);// 日志配置 log4js.configure({appenders: {// 控制台输出consoleAppender: { type: console },// 文件输出fileAppender: {type: dateFile,filename: ./logs/default, //日志文件的存…