数学建模------MATLAB学习使用

1.多项式的表示和方程求解

多项式就是使用行向量分别表示前面的系数,这个需要按照一定的顺序,而且为0的系数不能够省略,按照从高到低的顺序进行表示;

我们接下来演示一下如何求多项式的根:

我们首先来认识一下求多项式的根的函数roots

接下来我们哪一个最高次为5的多项式举例:

这个方程的解并不在我们的求解范围之内,我们无法使用已学的知识进行求解,这个时候借助MATLAB实现多项式的求解:

通过输出结果可以看到,该多项式在实数的范围内没有解,他的五个解都是虚数解;

2.学会正确调用帮助文档

MATLAB函数众多,用法复杂,这个需要我们进行实时查阅,例如我们想查阅MATLAB里面的关于sin三角函数的用法,一种简便的方法就是在命令行窗口里面输入我们的help sin或者doc sin;这两种做法的区别读者可以自行尝试实践以后进行了解,使用help就会把帮助文档显示在我们刚刚输入的命令行窗口,如下图所示:

如果我们使用doc,软件就会自动弹出新的页面进行显示该函数的帮助文档;

3.优化问题的解决方法

这个题目的意思就是求-5*x1-4*x2-6*x3的最小值(注意,这个里面的x3的范围应该也是大于0的),大括号里面的是一系列的限制条件范围;

下面是我们的代码实现:

这个代码里面zeros函数用来创造全为0的向量,这个地方相当于创造3行1列全为0的向量;

因为这3个分别是x1,x2,x3的下界限,最后的linprog返回这个优化问题的最小值;

4.变量和数据类型

(1)预定义的变量

我们自己定义的变量名尽量不要和这些系统的预定义的变量冲突,否则这些系统的常数就会被我们的定义覆盖掉;

(2)变量的定义

MATLAB里面的变量定义的时候,不需要我们事先声明变量的类型,我们只需要输入变量的数值,系统会自动匹配与之对应的数据类型;

(3)左除和右除运算

(4)余弦定理案例

对于一个我们常见的1:根号3:2的直角三角形,我们是这里用MATLAB求一下里面的某个角的大小,代码如下:

我么这个里面的cos_alpha以及alpha都是自己定义的变量,acos就是我们数学里面的反三角函数,最后我们把这个弧度制转换为角度;

(5)续行符

这个符号组要应用于我们的算术表达式很长,我们无法在同一行里面进行正常的显示,这个时候我们就可以使用续行符,这个符号在使用的时候需要在3个省略号的前面加上一个空格,而且下面的一行必须有值,否则就不满足这个符号的使用条件;下面的是一个特别简单的例子:

5.plotyy绘制双纵坐标图

6.subplot指令对图形窗口进行分割

(1)这个里面的position是一种固定的写法,后面的中括号里面的内容是我们对窗口设置的尺寸,分别代表的参数如下图所示:

(2)axis函数的使用说明:更改坐标轴的范围

这个是帮助文档里面的一个例子,我们借助这个例子就可以理解该函数的作用,就是把x的坐标范围修改到0~pi,y轴的坐标范围修改到-1~1;

7.数据的导入导出

(1)数据的输入input

这个就是在命令行的窗口里面显示了这句话,等待我们的输入,我们输入一个数字以后,按下回车键就可以显示我们输入的数据;

但是这样的做法不推荐使用,因为这个需要我们手动的按下回车键,这样就会在一个程序的运行过程中,影响程序的执行效率;

(2)xlsread读取数据

这个函数适合用来读取数值型的数据;

(3)readtable读取数据

这个函数推荐大家使用;

(4)fprintf和disp函数

fprintf的使用方法类似于C语言里面的printf,都是用来把我们定义的变量的值打印输出,disp的作用就是可以获取我们的变量的值,例如我们写入disp(a),就获取了a的值,屏幕上面就会打印出来100;

8.循环结构

(1)for循环

for表示循环的开始,end表示循环的结束,最后把结果Sn显示在命令行窗口上面;

(2)while循环

基本逻辑是不变的,while和end是一对的,需要注意的是for循环会自动地进行加上1的操作,但是while不会,因此我们的循环语句里面多加入了一句k=k+1,最后同样是打印结果;

9.选择结构

(1)if语句

单分支结构

接下来的单分支选择结构会用到这个,就是使用rand生成随机数,具体的规则包括生成的随机数的指定范围,可参上面的帮助文档;

(1)这个就是单分支的if语句的案例,round是四舍五入取整数,因为生成的随机数也有可能是小数;

(2)num2str同样是一个函数,把数字转换为字符数组;

(3)调用函数,或者是对变量进行索引的时候,必须使用圆括号;

(4)根据上面的铺垫,我们就可以明白第一行所要表达的意思:生成1*20的行向量,生成0~100的随机数,根据帮助文档里面的公式,我们应该写作0+(100-0)*rand(1,20),这个例子里面相当于是把0都省略掉了,希望读者能够理解;

多分支的

和C语言类似,也是进行条件的判断,但是这个里面的elseif不能分割开来,必须是连一起的,这个就是和我们C语言的不同之处;

(2)switch语句

(1)这个要注意都不符合条件使用的是otherwise

(2)这个里面同样使用了rand函数,rand(1)表示只生成一个随机数,3可以理解成2-(-1),这样就是生成的-1~2的随机数

(3)因为是随机数,所以我们多次运行就会发现,每次的运行结果都是不一样的;

10.向量化编程思想

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

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

相关文章

几种常见的IO模型学习

IO模型 IO模型(输入输出模型)是计算机科学中用于描述程序如何处理输入、产生输出以及与外部系统交互的一种概念模型。在操作系统和网络编程中,IO模型尤其重要,因为它们决定了程序如何与文件、网络套接字和其他资源进行通信。以下…

from_pretrained 做了啥

transformers的三个核心抽象类是Config, Tokenizer和Model,这些类根据模型种类的不同,派生出一系列的子类。构造这些派生类的对象也很简单,transformers为这三个类都提供了自动类型,即AutoConfig, AutoTokenizer和AutoModel。三个…

vue3+threejs新手从零开发卡牌游戏(九):添加抽卡逻辑和动效

首先优化下之前的代码,把game/deck/p1.vue中修改卡组方法和渲染卡组文字方法提到公共方法中,此时utils/common.ts完整代码如下: import { nextTick } from vue; import * as THREE from three; import * as TWEEN from tweenjs/tween.js impo…

Springboot笔记-02

1.使用Spring Initializer快速创建Spring Boot项目 IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目; 选择我们需要的模块; 向导会联网创建Spring Boot项目; 默认生成的Spring Boot项目; 主程序已经生成好了&#…

【黄啊码】如何用GPT和向量数据库做问答型AI

知识库服务依赖该数据库,Embedding 形式个性化训练 ChatGPT,必不可少的就是向量数据库 因为 qdrant 向量数据库只支持 Docker 部署,所以需要先安装好 Docker 服务。 命令行安装 拉取镜像 docker pull qdrant/qdrant 运行服务 docker run -…

java动态规划学习笔记

学习笔记目录,这里记录个大纲,详情点链接 背包问题 01背包问题综述 01背包问题(二维数组)https://blog.csdn.net/m0_73065928/article/details/136794406?spm1001.2014.3001.5501 01背包问题(滚动数组&#xff09…

牛客NC111 最大数【中等 贪心、排序 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/fc897457408f4bbe9d3f87588f497729 思路 贪心解法对于 numsnums 中的任意两个值 aa 和 bb,我们无法直接从常规角度上确定其大小/先后关系。但我们可以根据「结果」来决定 aa 和 bb 的排序关系&#…

视觉信息处理和FPGA实现第6次作业-Matlab实现灰度图像的亮度调节

一、代码 close all;clear all;clc; pic imread("cameraman.tif"); [M,N] size(pic); disp("Contrast Ajust Demo"); value input("Please input number of value, range: 0~2\n"); while value>2 || value<0disp("The number is in…

15:00面试,15:06就出来了,问的问题有点变态了

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到3月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降30%…

比赛记录:Codeforces Round 936 (Div. 2) A~E

传送门:CF [前题提要]:赛时一小时过了A~D,E感觉也不是很难(甚至感觉思维难度是小于D的),感觉这回是自己不够自信了,要是自信一点深入想一下应该也能做出来,咱就是说,如果E和D换一下,结果也是一样的,虽上大分,但是心里很不服,故记录一下 A - Median of an Array 当时网卡加载了…

Winform数据绑定

简介# 在C#中提起控件绑定数据&#xff0c;大部分人首先想到的是WPF&#xff0c;其实Winform也支持控件和数据的绑定。 Winform中的数据绑定按控件类型可以分为以下几种&#xff1a; 简单控件绑定列表控件绑定表格控件绑定 绑定基类# 绑定数据类必须实现INotifyPropertyChanged…

GPT4.0

GPT4.0 支持官网所有功能以及所有第三方GPTS&#xff0c;完全同步官网。无需魔法&#xff0c;填写授权码直达官网。全天超18小时维护&#xff0c;无需担心不稳定。没有永久卡&#xff0c;3.5免费提供&#xff0c;4.0可以按需下单即可&#xff0c;不存在跑路。 需要的联系

B站python爬虫课程笔记(Q16-19结束)

下面是学习的网址&#xff1a; ​​​​​​【Python爬虫】 目录 16、捕捉异常try&except语句的一些问题 1&#xff09;一些常见的异常类型 2&#xff09;try&except的使用 17、测试Bug的一些问题 1&#xff09;assert断定函数的使用 2&#xff09;unittest单元…

2024年阿里云优惠活动整理_云服务器活动大全

2024阿里云优惠活动大全包括云服务器优惠价格、优惠券免费领取入口、域名优惠口令、域名优惠、云数据库优惠活动、对象存储OSS优惠活动、企业邮箱优惠、阿里云建站优惠、无影云电脑优惠价格、CDN特惠等&#xff0c;阿里云服务器网aliyunfuwuqi.com长期更新阿里云优惠活动大全&a…

哈希表(c++)

1、介绍 哈希表&#xff0c;也称为散列表&#xff0c;是一种非常高效的数据结构。它通过将键&#xff08;Key&#xff09;映射到数组的特定位置来快速查找、插入和删除数据。这个映射过程由哈希函数&#xff08;Hash Function&#xff09;完成&#xff0c;该函数将键转化为一个…

【浅尝C++】C++基础第三弹=>内联函数/auto关键字/范围for/nullptr(含如何查看内联函数展开效果)

&#x1f3e0;专栏介绍&#xff1a;浅尝C专栏是用于记录C语法基础、STL及内存剖析等。 &#x1f6a9;一些备注&#xff1a;之前的文章有点杂乱&#xff0c;这里将前面的知识点重新组织了&#xff0c;避免了过多冗余的废话。 &#x1f3af;每日努力一点点&#xff0c;技术变化看…

【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件

目录 问题现象&#xff1a; 问题分析&#xff1a; 思路&#xff1a; 解决方法&#xff1a; 1、运行cmd命令窗口 2、执行文本文件内容合并命令 总结&#xff1a; 1、使用文本文件内容合并命令&#xff0c;将多个sql脚本文件的内容合并到一个新的sql文件中去。 2、然后在Nav…

《由浅入深学习SAP财务》:第2章 总账模块 - 2.1 基础知识

2.1.1 总账模块的基本功能 总账模块&#xff08;General Ledger&#xff0c;GL&#xff09;是“总分类账会计模块”的中文简称&#xff0c;它是财务会计&#xff08;FI&#xff09;模块的一个子模块&#xff0c;它是一切会计事务处理的核心模块。 它的基本功能有会计科…

3、Jenkins持续集成-Jenkins安装和插件管理

文章目录 一、Jenkins安装1. 安装JDK2. 获取jenkins安装包3. 安装包上传到服务器&#xff0c;进行安装4. 修改Jenkins配置&#xff08;1&#xff09;低版本Jenkins的rpm包&#xff08;2&#xff09;高版本Jenkins的rpm包 5. 启动Jenkins6. 打开浏览器访问7. 获取并输入admin账户…

1240. 完全二叉树的权值

给定一棵包含 N 个节点的完全二叉树&#xff0c;树上每个节点都有一个权值&#xff0c;按从上到下、从左到右的顺序依次是 A1,A2,⋅⋅⋅AN&#xff0c;如下图所示&#xff1a; 现在小明要把相同深度的节点的权值加在一起&#xff0c;他想知道哪个深度的节点权值之和最大&#x…