许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Matlab基础与数学建模美赛【1】:Matlab介绍与基础操作

Matlab基础与数学建模美赛【1】:Matlab介绍与基础操作

阅读数 11
点赞 0
article_banner

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中所有元素乘3A*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中第三行第二列元素6b=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+1factor(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+1g=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+9solve(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在数学建模中的应用》第二版


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空