IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Matlab基础与数学建模美赛【1】Matlab介绍与基础操作 -> 正文阅读

[数据结构与算法]Matlab基础与数学建模美赛【1】Matlab介绍与基础操作

目录

Matlab简介

Matlab界面介绍

matlab基础命令与矩阵操作大全

一:创建变量与赋值

二:矩阵操作基础

三:矩阵计算基础

四:矩阵索引基础

五:字符矩阵

六:六类基础符号运算

因式分解:

函数展开:

函数简化:

分式通分:

合并同类项:

转化多项式:

微分:

积分:

求和、级数:

方程求根:

示例,定义函数的使用

示例,绘制简单的散点图

实例,导入Excel文件

方法一:

方法二:

极为重要的帮助文档

总结



Matlab简介

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析矩阵计算科学数据可视化以及非线性动态系统的建模仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?----摘自网络

......简单来说,数学建模用得上、绘图、数据分析用得上...

小提醒:

Matlab是弱类型语言,相较于C、C++、Java等强类型高级语言,Matlab中对类型的强制要求不严格,类型可以被忽略。简单来说,支持很多种类型变量间的相互转化,不需要经过现行强制转换。

在Matlab工作区输入数值,即默认为双精度浮点型变量,输入字符,即默认为字符变量。Matlab中最常用到的是向量、矩阵形式的数据结构。

此外,Matlab中使用%进行注释,可执行文件为.m文件,常被定义为脚本 (一堆命令的集合) 或函数(基于输入输出实现某些特定功能)。

Matlab界面介绍

一图介绍Mtalb界面

matlab基础命令与矩阵操作大全

参考:

MATLAB命令大全和矩阵操作大全 - hellowOOOrld - 博客园

一:创建变量与赋值

%定义变量a为1并输出
a=1

%定义变量b=2暂时不输出
b=2;

%变量c为a+b的结果输出
c=a+b

%计算a*b直接输出
a*b

二:矩阵操作基础

%赋值A为行向量(1X3矩阵) (即1行3列)
A=[1 2 3]?? ? ? ?%空格或逗号为分隔符

%赋值B为2X3矩阵
B=[1 2 3;3 2 1];

%赋值C为2X3的全零矩阵并输出
C=zeros(2,3)

%D为A的转置矩阵
D=A'

%E为矩阵A、C的垂直拼接
E=[A;C]

%F为矩阵B、C的水平拼接
F=[B,C]

%注意!拼接矩阵需其维度一致


三:矩阵计算基础

%A:[1 2;3 4]
A=[1 2;3 4]

%A中所有元素乘3
A*3

%A中所有元素都取正弦值
B=sin(A)

%C:A矩阵取逆(取逆矩阵必须为方阵)
C=inv(A)

%D:矩阵乘法
D=A*C

%E:对应元素相乘
E=A.*D

四:矩阵索引基础

%a:[1 2;3 4;5 6]
a=[1 2;3 4;5 6]

%b:提取a中第三行第二列元素6
b=a(3,2)

%c:提取a中第二个元素(先列后行)
c=a(2);

%d:将a化为向量形式
d=a(:)

%e:a中第一行元素所组成的阵
e=a(1,:)

%将a中第二行删去
a(2,:)=[]


五:字符矩阵
?

%a:"World Hello!"
a='World Hello!'

%b:提取a中第一个字符
b=a(1,1)

%c:显示a的类型
c=class(a)

%d:串联字符矩阵
d=[a ?'I am coming']

%e:在字符串中输入特殊字符
e=[a 'I'' am coming']

六:六类基础符号运算

因式分解:

factor(f)
ex:
syms x; %定义符号
f=x^3+3*x^2+3*x+1
factor(f);

factor(100)
factor(sym('12345678901234567890'))

函数展开:

expand(f)
ex:
syms x; f=(x+1)^6;
expand(f);

ex:
syms x y; f=sin(x+y);
expand(f);

函数简化:

simplify(f)

分式通分:

[N,D]=numden(f)
ex:
syms x y;
f=x/y+y/x;
[N,D]=numden(f)

ex:
[N,D]=numden(sym(112/1024))

合并同类项:

collect(f,v):按指定变量v进行合并,缺省为默认合并
ex:
syms x y;
f=x^2*y+y*x-x^2+2*x;
collect(f)
collect(f,y)

转化多项式:

horner(f)
ex:
syms x;
f=x^4+2*x^3+4*x^2+x+1;
g=horner(f);


微分:

g=diff(f,x,n)
ex:
syms x;
f=sin(x)+2*x^3+2*x+1
g=diff(f,x);

积分:

int(f,x,a,b)%定积分
int(f,x)%不定积分
ex:
syms x;
f=(x^2+1)/(x^2-2*x+2)^2;
I=int(f,x);
ex:
K=int(exp(-x^2),0,inf)

求和、级数:

symsum(f,x,a,b);
ex:
syms n;
f=1/n^2;
symsum(f,n,1,inf)

方程求根:

solve(f)
ex:
syms x;
f=3*x^2+2*x+9
solve(f)


?

示例,定义函数的使用

定义数据处理函数 Data_Proce,输入形参a,输出参数?[AVG,MID,D,D1,STD,STD1]

首先,在工作区定义变量a

a=1:10
%a为1到10,步长为1的向量,也可以定义成 a=1:1:10,Matlab默认步长为1
%句末无 ; 即在命令行显示变量 a 的值

定义函数 Data_Proce

%此函数为求向量a平均数、中位数、方差、标准差、样本方差、样本标准差的函数
function [AVG,MID,D,D1,STD,STD1] = Data_Proce(a)
AVG = mean(a);%平均数
MID = median(a);%中位数
D = var(a,1);%此为方差
D1 = var(a);%此为样本方差
STD = std(a,1);%此为标准差
STD1 = std(a);%此为样本标准差
end

?然后,在工作区调用函数,结果如下:

示例,绘制简单的散点图

效果如图:
?

使用的绘制函数为 plot()

大家可以自行搜索随机数生成法,并学习plot函数进行绘制

实例,导入Excel文件

方法一:

将准备好的Excel文件拖入当前工作区文件夹下,直接右击鼠标,进行导入

方法二:

点击工作区界面上方 “导入数据” 选中电脑中的文件即可进行导入。

点击后,对导入的数据进行变量名和变量类型的简单修改后,即可进行使用。

极为重要的帮助文档

编程,基本上是面向搜索引擎的,现学现卖最为重要。

而Matlab,有着极为丰富的函数与功能,其官方帮助文档简洁又实用。

最直接的方法:使用help 空格 +函数名或工具名 ,或者在工作区右上角搜索栏进行搜索

例:寻找 disp()函数的使用方法与介绍

?

?操作简单又便捷,帮助文档中还有各色各样的示例与相关函数,简直不要太不要..

总结

编程这码事,还是得码...

我素来是反对记笔记的,因为向来比较懒。但不得不承认,记笔记是真的香,学一回记一回,更不容易忘吧,还能学到不少新的东西。

若不是要打比赛...@!#$%^&

这东西就不存在

参考:

卓金武《MATLAB在数学建模中的应用》第二版

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-12 00:15:37  更:2022-01-12 00:18:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:30:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码