许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  【数学建模】MATLAB入门:常用函数与建模技巧

【数学建模】MATLAB入门:常用函数与建模技巧

阅读数 4
点赞 0
article_banner


小常识

在每一行的语句后面加上分号**‘;’** → 表示不显示运行结果 多行注释:选中要注释的若干语句,快捷键Ctrl + R 取消注释:选中要取消注释的语句,快捷键Ctrl + T clear 可以清除工作区的所有变量 clc 可以清除命令行窗口中的所有文本,让屏幕变得干净

输入和输出函数(disp 和 input)

输出函数( 类  比printf)

disp("xuan_che")
a = [1, 2, 3] a = [1 2 3] 行向量a = [1; 2; 3] 列向量 ,分号可以用来分割行

matlab中两个字符串合并有两种方法

(1)strcat(str1,  str2, ..., strn)	 strcat('字符串1', '字符串2', '字符串3')(2)[str1, str2, ..., strn] 或 [str1 str2 ... strn]	 ['字符串1','字符串2'..]	 ['字符串1' '字符串2'..]

num2str → 将数字转换为字符串

c = 100num2str(c)disp(['c的取值为' num2str(c)])

input函数

一般我们会将输入的 数、向量、矩阵、字符串等赋给一个变量,这里我们 赋值 给A

A = input('请输入A:')B = input('请输入B:')% 注意观察工作区,并体会input后面加分号和不加分号的区别

sum函数

(1) 如果是向量(无论是行向量还是列向量),都是直接求和的

E = [1,2,3]sum(E) % 6E = [1;2;3]sum(E) % 6

(2)如果是矩阵,则需要根据行和列的方向做区分

E = [1,2;		 3,4;		 5,6]% 同行元素用逗号或者是空格隔开,不同行之间用分号隔开
1.a = sum(x)    % 按列求和得到一个行向量	a = sum(E)	a = sum(E,1)2.a = sum(x,2)  % 按行求和得到一个列向量	a = sum(E,2)3.a = sum(x(:)) % 对整个矩阵求和	a = sum(sum(E))	a = sum(E(:))

基础: MATLAB中如何提取矩阵中指定位置的元素

(1) 取指定行和列的一个元素(输出的是一个值)

A(2,1) 第二行第一列A(3,2) 第三行第二行

(2) 取指定的某一行的全部元素(输出的是一个行向量)

A(2,:)B(4,:)

(3) 取指定的某一列的全部元素(输出的是一个列向量)

A(:,3)B(:,2)

(4) 取指定的某些行的全部元素(输出的是一个矩阵)

A([2,5],:) % 取第二行和第五行(2行)A([2:5],:) % 取第二行到第五行(3行)A([2:2:5],:) % 取第二行和第四行(从2开始,每次递增2个单位,到5结束)A(2:end,:) % 取第二行到最后一行A(2:end-1,:) % 取第二行到倒数第二行A(:) % 按列全部输出

size (A) 函数是用来求矩阵A的大小的,它返回一个行向量,第一个元素是矩阵的行数,第二个是矩阵的列数

[r,c] = size(A)r = size(A,1) % 返回行数c = size(A,2) % 返回列数

repmat函数

B = repmat(A, m, n)将矩阵A复制m×n块,即把A作为B的元素,B由m×n个A平铺而成

A = [1,2,3;4,5,6]B = repmat(A,3,2)

Matlab中矩阵的运算

“*” 和 “/” 表示矩阵之间的乘法和除法(A/B = A * inv(B))

A = [1,2;3,4]A * B

inv(B)求B的逆矩阵

每个元素同时乘方只能用 .^

A = [1,2;3,4]A .^ 2% A * A -> A ^ 2

Matlab中求特征值和特征向量

在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),其中最常用的两个用法是

A = [1,2,3;2,2,1;2,0,3]

% (1) E = eig(A) 求矩阵A的全部特征值,构造向量EE = eig(A)% (2) [V, D] = eig(A) 求矩阵A的全部特征值,构成对角D,并求A的特征向量构成V的列向量(V的每一列中都是D中与其相同列的的特征值的特征向量)[V, D] = eig(A)

find函数,它可以用来返回向量或者是矩阵中不为0的元素的位置索引

X = [1 0 4 -1 0 0 0 8 6]ind = find(X)% 有多种用法,比如返回前2个不为0的元素的位置ind = find(X, 2)
% 若X是一个矩阵(二维,有行有列)X = [1 -3 0; 0 0 8; 4 0 6]ind = find(X)% 如果需要按照行列的信息输出[r,c] = find(X)[r,c] = find(X,1) % 只找第一个非0元素

矩阵与常数的大小判断运算

% 共有三种运算符:大于 >; 小于 <; 等于 == (一个等号表示赋值,两个等号表示判断)X = [1 -3 0; 0 0 8; 4 0 6]X > 0X == 4

判断语句

MATLAB中的判断语句,if所在的行不需要冒号,语句的最后一定要以end结尾;中间的语句要注意缩进

a = input("请输入考试分数")if a >= 85	disp("优秀")elseif a >= 60	disp("合格")else 	disp("挂科")end


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


相关文章
技术文档
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
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空