数学建模--MATLAB基本使用

news2024/11/17 12:40:12

1.线性方程组

这个是一个线性方程组(属于线性代数的范畴),Ax=b类型的方程,如果使用MATLAB进行求解,就需要分别表示A矩阵(线性方程组未知数前面的系数),b矩阵(表示等式右边的结果),inv是这个软件里面的一个函数,用来进行求解A的逆矩阵,因为Ax=b,那么x=A-1次方乘上b

另外,我们也可以使用这个A\b来进行求解,这个里面需要注意是A\b,而不是我们熟悉的A/b,他们所代表的含义是不一样的,我们在脚本里面敲代码的时候,需要在前面的2行加上结尾处的引号,最后一行不用加引号,否则我们在命令行窗口里面无法看到最后的输出结果;

2.二维图形的绘制

二维图形的绘制要是用这个plot函数,我们通过这个例子来认识一下函数的使用方法,以sin1/x为例吧:

(1)这个地方我们只绘制了-1~1范围里面的函数图像,这样便于观察函数的效果,学过高等数学的同学们对于这个函数就非常的熟悉,因为他是特例,这个函数是有界限的,但没有极限存在;

(2)下面我们来聊一聊这个里面每一行代码的作用,首先,第一行是生成行向量,我们可以简单地理解为,通过这一行,我们要告诉MATLAB我们要绘制图像的定义域是-1~1之间的,100000是在这个-1~1这个区间里面生成100000个采样点,

(3)这个里面使用了点运算符,只要是涉及到矩阵里面的元素运算,我们在大部分的情况下都要是用这个运算符,后续还会涉及到,这个运算符在矩阵的运算里面很常见,我们都知道,对于两个矩阵的乘法运算,他们并不是对应位置的元素相乘,但是如果我们使用点乘运算符,就可以让矩阵里面对应位置的元素进行相乘的运算;

**************************************************************************************************************

接下来我们举一个在一个坐标平面里面绘制2个图形的例子

我们在一个坐标平面里面绘制y=e^x*cos和y=10*e^-0.5x*sin(2pi x)的函数图像(0~pi/2区间里面)

这个里面的plot中的单引号里面表示的是一些标记符号;

b是蓝色,-表示实线;合在一起就是蓝色实线;

k表示黑色,:表示虚线;合在一起就是黑色虚线;

下面是效果图:

3.空间曲线的绘制

绘制空间曲线x^2+y^2+z^2=16,x+y=0(这2个方程是在一个括号里面进行联立的)

首先要转化成为参数方程,也就是x=2根号2sint;y=-2根号2cost;z=4cost;

下面是是否添加grid on的区别,读者可以自行感受:

这个是没有grid on的,可见就没有曲线的格子;

这个是添加了grid on的,差别就显而易见了;

4.函数极限实验

(1)符号运算,matlab使用sym创建符号对象,一次只能够创建一个符号对象,我们也可以使用syms一次性创建多个符号对象;

(2)极限运算

MATLAB提供limit函数求极限

limit(f,x,a)表示求f(x)在a点处的极限值;

limit(f,x,a,'right')是求这点处的右极限,如果我们把right换成left就是求左极限;

当然,也可以进行求解多元函数的极限:这个时候就需要嵌套limit;

z=limit(limit(f,x,x0),y,y0)就是求在x0,y0处的极限值;

f1里面就是我们要求的函数的表达式,在x趋近于1的极限值;

我们都知道sin(1/x)的极限是不存在的,所以程序的输出结果就是NaN;

5.MATLAB求导运算

MATLAB里面可以调用diff函数求函数的导函数;

例如diff(f,x,5)就是求符号函数f在x这个点处的5阶导数;

接下来我们使用MATLAB求一下y=x^2*exp(-x)的3阶导数;

6.MATLAB实现函数的泰勒幂级数展开

taylor里面就是我们要展开的函数表达式;

6.MATLAB积分实验

我们使用int(s,x)就是表示对s表达式里面的x进行积分;

顺便提一句:无论是积分求解还是极限的求解,我们都是使用inf代表无穷;

下面是例子:

(需要了解的是这个不定积分的求解是没有常数项的(实际上数学里面的求解是由常数的))

当然,MATLAB也是可以计算定积分的:

对于积分的上下限,我们在int(s,x,a,b)里面添加2个参数,a是积分下限,b是积分的上限

7.MATLAB实现微分方程

Dny表示y的n阶导,D2y就是2阶导;我们可以调用dsolve函数实现常微分方程的求解;

这个板块不同的版本软件的代码语言有所差别,这个是以我的2023为例

(1)我们去求dy/dx+y/x=sinx/x的通解:

diff就是求导数的运算;

(2)求解dy/dx+y=y^2*exp(-x)满足条件y(0)=-2的特解:

提前说明一下,笔者使用的是旧版本的教材,但是用的是新版MATLAB,2023里面可能会因为不支持原来的某些符号而报警告,但是我们依然是能够得到结果的;

D2y表示的是2阶导,D3y表示的是3阶导,以此类推;

(3)y''-6y'+13y=0的通解;

8.空间曲面(马鞍面&&双曲抛物面)

(1)同样是马鞍面,也叫做双曲抛物面,我们可以使用不同的函数进行绘制,不同的函数的展示的效果是不一样的,我们上面的是使用mesh函数绘制,这个函数主要是连接成网格点,下面的这个有颜色的马鞍面是用这个surf进行绘制的,代码的其他部分不变,只需要把第4行的函数的名字改变一下就可以了,通过这个案例我们也可以发现这两者之间的差别,前者线条有颜色,线条之间的补面没有颜色的填充,后者的曲面图线条是黑色的,之间使用颜色进行了填充;

(2)MATLAB为我们提供了grid函数决定是否显示分格线,他的调用格式为

grid od:显示分格子线

grid off:不显示分格子线

(3)相信你一定注意到了这个里面的点运算,点运算是MATLAB里面很有特色的一种运算,我们都知道,矩阵在进行乘法操作的时候,并不是对应的元素进行相乘,但是如果我们对于矩阵里面的元素使用点乘运算,就可以实现对应位置的元素相乘,在绘图里面这个运算有十分广泛的运用;

(4)这个里面的meshgrid也是一个函数,这个函数的功能就是生成网格数据,当X轴和Y轴的数据点个数相等的时候,我们就可以使用[x,y]=meshgrid(x,y);

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

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

相关文章

刷题日记——非素数个数(厦大机试)

题目 分析 使用欧拉筛法计算从1到b的素数个数,方法如下: 找到一个素数后,就将它的倍数标记为合数,也就是把它的倍数“筛掉”;如果一个数没有被比它小的素数“筛掉”,那它就是素数。计算出从1到b的…

Ubuntu Desktop - gnome-calculator (计算器)

Ubuntu Desktop - gnome-calculator [计算器] 1. Ubuntu Software -> gnome-calculator -> Install -> Continue2. Search your computer -> Calculator -> Lock to LauncherReferences 1. Ubuntu Software -> gnome-calculator -> Install -> Continu…

mysql颗粒归仓

B B树:节点排序 一个节点存多个元素 多个元素也排序了 叶子节点间有指针,非叶子节点上的元素在叶子节点冗余:叶子节点存储排好序的all元素 通过数据排序提高查询速度,节点存储多个元素 高度不会太高,一个innodb页B树…

如何批量获取公众号所有文章的阅读数点赞数和留言数导出excel?

如何批量获取公众号所有文章的阅读数点赞数和留言数导出excel?我写了个脚本批量抓取,导出的excel文章数据包含文章日期,文章标题,文章链接,文章简介,文章作者,文章封面图,是否原创&a…

由浅到深认识C语言(5):函数

该文章Github地址:https://github.com/AntonyCheng/c-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.csdn…

Fork - 将 GitHub 的某个特定仓库复制到自己的账户下

Fork - 将 GitHub 的某个特定仓库复制到自己的账户下 1. ForeverStrongCheng/OpenCV-tutorials2. Fork -> ForeverStrongCheng/R2CNN_Faster-RCNN_TensorflowReferences 访问仓库页面,点击 Fork 按钮创建自己的仓库。 Fork 是将 GitHub 的某个特定仓库复制到自己…

python二级备考(3)-综合应用

1 《命运》是著名科幻作家倪匡的作品。这里给出《命运》的一个网络版本文件,文件名为“命运. txt”。 问题1 (5分) :在PY301-1. py文件中修改代码,对“命运. txt”文件进行字符频次统计,输出频次最高的中文字符(不包含标点符号)及其频次&…

图像去噪--(1)

系列文章目录 文章目录 系列文章目录前言一、图像噪声1.1 噪声定义1.2 基本特征 二、按照噪声概率分布分类1.高斯噪声2.泊松噪声 三、去噪算法3.1 线性滤波3.1.1 高斯滤波3.1.2 均值滤波 3.2 非线性滤波3.2.1 中值滤波3.2.2 双边滤波 四、深度学习总结 前言 一、图像噪声 1.1 …

【模糊集合】示例

【模糊集合】隶属函数、关系与运算 例1 设, 分别进行交、并、补运算,有: 由上模糊集合的全体组成的集合称为的模糊幂集,记为,fuzzy 上述为模糊集合的Zadeh记法,其中的“”号不表示分式求和,仅作…

深度强化学习(七)策略梯度

深度强化学习(七)策略梯度 策略学习的目的是通过求解一个优化问题,学出最优策略函数或它的近似函数(比如策略网络) 一.策略网络 假设动作空间是离散的,,比如 A { 左 , 右 , 上 } \cal A\{左,右,上\} A{左,右,上},策…

Linux 进程控制进程终止

目录 一、fork函数 1、概念 2、父子进程的共享 3、 为什么父子进程会从fork()调用之后的位置继续执行代码 4、写时拷贝 5、为什么需要写时拷贝 6、写时拷贝的好处 7、fork常规用法 8、fork调用失败的原因 9、查看系统最大进程数 二、进程终止 1、进程退出场景 2、…

redis 入门01

1.安装与配置 在官网下压缩包并传送给自己的虚拟机或者使用wget直接下载都可以 注意:redis是运行在linux下的基于内存的kv键值对数据库 安装与配置参考 2.经典Hello World 注意设置redis在后台运行,默认是前台进行的 我们配置完成之后首先启动服务器 redis-server 配置文件 这里…

MyBatis3源码深度解析(十二)MyBatis的核心组件(一)Configuration

文章目录 第四章 MyBatis的核心组件4.1 使用MyBatis操作数据库4.2 MyBatis核心组件4.3 Configuration组件4.3.1 属性4.3.2 设置4.3.3 类型别名4.3.3 类型处理器4.3.5 对象工厂4.3.6 插件4.3.7 配置环境4.3.8 映射器 第四章 MyBatis的核心组件 4.1 使用MyBatis操作数据库 在研…

Boyer Moore 算法介绍

1. Boyer Moore 算法介绍 Boyer Moore 算法:简称为 BM 算法,是由它的两位发明者 Robert S. Boyer 和 J Strother Moore 的名字来命名的。BM 算法是他们在 1977 年提出的高效字符串搜索算法。在实际应用中,比 KMP 算法要快 3~5 倍。 BM 算法思…

【Machine Learning】Suitable Learning Rate in Machine Learning

一、The cases of different learning rates: In the gradient descent algorithm model: is the learning rate of the demand, how to determine the learning rate, and what impact does it have if it is too large or too small? We will analyze it through the follow…

【安全类书籍-1】asp代码审计.pdf

目录 内容简介 作用 下载地址 内容简介 这个文档摘录片段主要讨论了ASP编程中的安全性审计,包括SQL注入漏洞、Cookie注入防范措施及文件上传安全问题,并给出了相关示例代码。 SQL注入漏洞与防范 - ASP代码中展示了如何通过`Request.QueryString`和`Request.Form`获取用户…

SpringBoot打造企业级进销存储系统 第五讲

package com.java1234.repository;import com.java1234.entity.Menu; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query;import java.util.List;/*** 菜单Repository接口*/ public interface MenuReposit…

spacy进行简单的自然语言处理的学习

自然语言处理基本概念 概念:自然语言处理,是让机器理解人的语言的过程。 作用:通过使用自然语言处理,机器可以理解人的语言,从而进行语义分析,例如:从一句话中判断喜怒哀乐;从一段文…

电大搜题:开启学习新时代

身处信息化时代,学习的方式已经发生了巨大的变革。在这个多元化的学习环境中,传统的学习模式已经无法满足现代学习者的需求。然而,电大搜题应运而生,为学习者提供了一个高效、便捷的学习途径。 电大搜题,作为黑龙江开…

阅读 - 二维码扫码登录原理

在日常生活中,二维码出现在很多场景,比如超市支付、系统登录、应用下载等等。了解二维码的原理,可以为技术人员在技术选型时提供新的思路。对于非技术人员呢,除了解惑,还可以引导他更好地辨别生活中遇到的各种二维码&a…