数学建模——基础

article/2025/8/26 17:58:32

目录

第1章 MATLAB基础知识

1,矩阵的表示

1,数值矩阵的生成

2,符号矩阵的生成

3,特殊矩阵生成

4,一般矩阵运算

5,基本图形绘制

6,简单图像处理

7,建立函数文件/.M文件

8,常用数值拟合

9,常用数据插值


(文章主体内容来自"《MATLAB数学建模经典案例实战》#余胜威 编著#清华大学出版社",发此文目的是梳理相关知识点,记录学习过程)

第1章 MATLAB基础知识

1,矩阵的表示

矩阵与向量相同,用来描述一个问题的方程组的系数,由方程组的系数和常数构成的方阵。

矩阵包括:数值,符号,特殊矩阵等三种基本样式

1,数值矩阵的生成

MATLAB强大功能之一:直接处理向量或矩阵

实数值矩阵输入

复数矩阵输入

2,符号矩阵的生成

1,用sym定义矩阵(实际是在定义符号表达式,符号矩阵中的元素可以是任意符号或是表达式,且长度无限制,只是将方括号置于用于创建符号表达式的单引号中)

2,用命令syms定义矩阵

3,数值矩阵转换为符号矩阵

一般情况下,矩阵是浮点型变量保存。针对本例,将矩阵转化成符号矩阵后,都将以最接近原值的有理数形式表示,或是函数形式表示

3,特殊矩阵生成

  1. 全零阵生成
  2. 单位阵生成
  3. 全1阵生成
  4. 均匀分布随机矩阵生成
  5. 正态分布随机矩阵生成
  6. 产生随机排列
  7. 产生线性等分向量
  8. 产生对数等分向量
  9. 产生以输入元素为对角线元素的矩阵
  10. 友矩阵的生成
  11. hadamard矩阵生成
  12. Hankel方阵生成
  13. Hibert矩阵生成
  14. 逆Hibert矩阵生成
  15. Magic矩阵生成
  16. pascal矩阵生成
  17. 拓普利兹矩阵生成
  18. Wilkinson特征值测试阵的生成

4,一般矩阵运算

5,基本图形绘制

  • t:t从0开始,以π/50为一步,到4π为止,就是t的取值为0,π/50,2*π/50,3*π/50,4*π/50......4π
  • .*:点乘,非矩阵乘法的一种乘法,每个对应元素分别相乘
  •  plot(t,y,t,y0,t,-y0):显示三条曲线


 

 

  • 在matlab的命令窗口输入:X=linspace(1,100),将产生从1到100步长为1的数组。类似于在命令窗口中输入:X=[1:100]
  • 在命令窗口中输入:X=linspace(5,100,20),将输出:X =5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
  • 注意多个数值做乘除运算时要用点乘(.*),直接用乘(*)则报错
  • .*需要A、B的行列相等,而*的必要条件则是A的列数==B的行数
  • .^是矩阵中各数值分别平方,^是矩阵自身乘以矩阵自身
  • subplot(m,n,p)或者subplot(m n p):m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果m=2就是表示2行图。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。
  • axis([XMIN XMAX YMIN YMAX])二维坐标系下坐标范围
  • V = axis,返回当前坐标范围参数,二维坐标 四个元素
  • plot(x,y,'linewidth',2): 线条粗细

  • meshgrid(x,y,z):meshgrid是生成网格的函数,一般是生成二维网格矩阵数据,但这里生成的是三维网格矩阵数据。以二维为例,命令:[X,Y]=meshgrid(x,y),生成的X就是采样点的横坐标,Y是其纵坐标
  • slice(X,Y,Z,V,XI,YI,ZI) 沿着由矩阵XI、YI与ZI定义的曲面画穿过超立体图形V的切片。

6,简单图像处理

  • 素材放在图中所标记位置
  • R=obj(:,:,1)......:把图像中红、绿、蓝三色的数据分别存储到矩阵R、G和B中
  •  

7,建立函数文件/.M文件

函数文件

定义

  • 可以是MATLAB工具箱中的函数,直接被用户调用
  • 也可以是用户自己书写的,可间接调用
  • 也可添加到工作路径下,供用户调用

作用

  • 可反复调用
  • 节约代码空间
  • 使结构清晰
  • 很重要

常用的函数文件

  • function y = abc(x);
  • abc:用户定义函数
  • x:输入    y:反馈值

函数句柄

  • fhandle = @function name
  • eg.    trig_f = @sin 或 sqr = @(x)x.^2

eg. 函数句柄的创建调用

eg.函数文件的创建和调用

  1. 新建 “函数”,并编写函数内容,保存时为函数命名(注意不要与已知函数冲突,函数文件将在路径中显示)
  2. 在命令行窗口可直接调用此函数

 

8,常用数值拟合

最简单的线性最小二乘法拟合

  • 从实验数据中拟合函数关系y=f(x),标准是使   (f(xi) - yi)^2取极小值
  • MATLAB中可用函数polyfit函数对数据进行拟合。调用格式:P  =  polyfit(x , y , N)    意义:用N次多项式拟合数据点  [ xi , yi]

eg.以一次,二次,三次多项式拟合以下数据 

表1-2 数据
x0.51.01.52.02.53.0
y1.752.453.814.807.008.60

 

  • hold on:hold on 和hold off,是相对使用的前者的意思是,你在当前图的轴(坐标系)中画了一幅图,再画另一幅图时,原来的图还在,与新图共存,都看得到,后者表达的是,你在当前图的轴(坐标系)中画了一幅图,此时,状态是hold off,则再画另一幅图时,原来的图就看不到了,在轴上绘制的是新图,原图被替换了(参考自@荪荪【Matlab中hold on与hold off的用法】)

  • plot函数:单引号内的是线的类型以及颜色,如上图

9,常用数据插值

插值

  • 求函数近似值的方法。针对某个x,用已知的xi与f(xi)组合生成f(x)。
  • 最简单插值法:多项式插值法
  • MATLAB可利用提供的插值函数,或编程实现数据的插值
  • 一元插值函数interp1的语法格式

    y = interp1(x , Y, xi)

    由已知点集(x,Y)插值计算xi上函数值y
    y = interp1(Y, xi)相当于x=1:length(Y)的interp1(x, Y, xi)
    y = interp1(x, Y, xi, method)用指定方法计算xi对应的y
    y = interp1(x, Y, xi, method, 'extrap')超出已知点集的插值点用指定方法计算函数值
    y = interp1(x, Y, xi, method, extrapval)用指定方法计算插值,超出已知点集处函数值取extrapval
    pp = interp1(x, Y, method, 'pp')用指定方法进行插值,但结果为分段多项式
    eg.已知x, y初始矩阵值,利用interp1的不同插值算法求xi[1 : 0.3 : 17]时各点的函数近似值

二维插值

  • 类似于一维插值,但插值方法只有三种:‘nearest’,'linear'(默认),‘cubic’
  • 已知数据点集必须是栅格格式,一般用meshgrid函数产生
  • interp2函数要求(X,Y)必须严格单调
  • interp2函数输入中,若已知点集(X,Y)在平面上不等间距时,函数将通过一定的变换将其转换为等间距的
  • 若输入点集已经是等间距分布的话,可以在method参数前加星号(*),eg.'*cubic'。可提高插值速度

eg.二维插值函数

 

 


http://chatgpt.dhexx.cn/article/c8CX8wXf.shtml

相关文章

数据库除法理解

理解 给定关系R和关系S,求RS。 关系R和关系S拥有共同的属性A2、A3 , 首先确定得到的属性为A1。(RS得到的属性是关系R包含而关系S不包含的属性,即A1) 其次确定A1中符合条件的属性值为{a,d}。(关系R中A1的…

数据库课程设计——MOOC学习平台

文章目录 1. 项目介绍:2.代码部分 1. 项目介绍: 采用JDBC接口连接数据库,简单实现Mooc学习平台相关功能。 2.代码部分 1.方法类 package com.mooc; import untlis.DButlis; import java.sql.PreparedStatement; import java.sql.ResultS…

oracle数据库怎么创建数据库 oracle数据库工作流程

oracle数据库怎么创建数据库 数据库用户的创建、权限的分配 数据库安装完成后,有两个系统级的用户: system 默认密码为:manager sys 默认密码为:change_on_install 在安装的数据库目录中找到 \oracle\product\9.2\bin 中的sq…

数据库复习--并发控制

1、并发控制:为了保证事务的隔离性和一致性,数据库管理系统需要对并发操作进行正确调度 并发控制的主要技术有:封锁、时间戳、乐观控制法、多版本并发控制等 并发操作带来的数据不一致性: 丢失修改:两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了…

gbase 连接数据库

1.gbase客户端 gbase data studio 2.gbase数据源 #数据库驱动 spring.datasource.driver-class-namecom.informix.jdbc.IfxDriver #数据源地址 spring.datasource.urljdbc:informix-sqli://10.2.35.142:9088/mztj:INFORMIXSERVERgbaseserver;NEWCODESETUTF8,zh_cn.UTF8,573…

数据库使用率对比【CSDN指数】

所有数据来自【CSDN指数】 mysql、sqlserver、redis、oracle数据库使用率对比 从以下数据可得,最抢手的数据库依然是【mysql】,但是每年的【11】月份【oracle】的使用率会突然增高,说明很多国有企业年底查数据的时候都会对数据做一次大清洗。…

ClickHouse 数据库建库

1 创建数据库 create database test[ ENGINE Atomic] 库引擎 1 Atomic 2 其他库引擎 MySQL 注意大小写 实验性阶段,使用mysql binlog 日志复制

数据库原理

绪论 数据:描述事物的符号记录称为数据,数据的含义称为语义数据库(DB):数据库是长期存储在计算机内,有组织的,可共享的大量数据的集合数据库管理系统(DBMS):…

记录一下数据库大作业

查看服务器 select servername python语句增删减改数据但数据库未保存 connect.commit() 这句话一定要加上,是在我发现修改数据后发现数据库并没有保存才知道的 设置登录名安全性 新建登录名后设置各个表的插入、查询等权限,具体是在表的属性然后权…

数据库的介绍

1. 数据库的介绍 数据库(Database DB)是按照数据结构来组织、存储和管理数据的仓库(存储数据的仓库),它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据&#xff0c…

【数据库】数据库基本概念和类型

一、数据库基本概念 1、数据 所谓数据(Data)是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的、抽象的。它不仅仅指狭义上的数字,而是有多种表现形式:字母、文字、文本、图形、音频、视频等。现在…

Linux下ll命令

ll命令其实就是ls -l,当然如果想显示隐藏信息就是 ls -al。 我个人是特别喜欢ll代替ls -al命令,并且还要有颜色的那种。 今天卸载软件重新安装环境变量怎么都不对了,一生气把环境变量都清空了。命令:unset PATH 然后就手动添加…

【Linux】ll命令报错-bash: ll: command not found

报错信息 : -bash: ll: command not found root用户没有显示 普通用户下,即目录的拥有者,可以使用ll命令 报错原因: root用户在当前目录没权限,或者, ll 并不是Linux 下一个基本的命令,它实际上…

语法分析:LL(1)分析

本篇介绍的LL(1)分析,这是一种自上而下分析的方法,第一个 L 表示从左向右扫描, 第二个 L 表示分析过程是最左推导,(1)表示每次只向前看一个符号进行分析 关于语法描述的概念 本文中,若无特别说明,小写字母[…

Linux命令 ls 和 ll 的使用方法与基本区别

Linux命令 ls 和 ll 的使用方法与基本区别 Linux 命令 ls 和 ll 的使用方法: ll:罗列出当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息 ,像Windows显示的详细信息。ll是“ls -l"的别名。相当于Windows里的…

Linux ll指令介绍

经常会用到ll指令来查看文件等,这里记录一下查看的详情信息 介绍样例 drwxrwxrwx 3 root root 4096 Oct 30 10:41 backup drwxrwxrwx 表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w&…

Linux命令`ll`的各列什么意思

下面是随便一个目录下的ll命令,显示的结果分为7个列。 第1列是文件类型加权限 第一个字符为文件类型 d表示目录l表示软连接-表示文件c表示字符设备文件 后面的字符分为三组 所有者u(r表示可读,w表示可写,x表示可执行&#xff09…

Linux 中 ll与ls -l 区别

linux下命令“ll”是“ls -l"的别名。别名相当于windows里的快捷方式。 但是 ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls-l只列出显式文件。 如图 : . 本级 …上一级

ls、ls -a、ls -l、ls -al、ll、ll -a区别

ls 仅罗列出当前文件名或目录名 ls -a 列出目录下的所有文件,包括以 . 开头的隐含文件。 ls -l 列出文件的详细信息。 total 1948 是第5列的和(单位k) 第一列中第一小列代表文件 - 文件(普通文件,图片,压缩包) l 链接文件 类似于Window…