一:数学建模之MATLAB基础知识

1.1Matlab系统环境

1.命令行窗口
换行命令(续行符) … 回车
clc 清屏;
clear 清除变量
一:数学建模之MATLAB基础知识_第1张图片

1.2Matlab数值数据

命令;format 格式符(不影响出储存)
常用数学函数:
一:数学建模之MATLAB基础知识_第2张图片
一:数学建模之MATLAB基础知识_第3张图片
fix,ceil,round函数
一:数学建模之MATLAB基础知识_第4张图片
rem取余数
一:数学建模之MATLAB基础知识_第5张图片

isprime(n)为求素数函数,是素数返回1;否则返回0
find()函数返回的是位置
一:数学建模之MATLAB基础知识_第6张图片

1.3变量及其操作

区别;预定义变量
一:数学建模之MATLAB基础知识_第7张图片
变量删除与修改:
who 与 whoms 命令
一:数学建模之MATLAB基础知识_第8张图片
一:数学建模之MATLAB基础知识_第9张图片

1.4矩阵及其表示

一:数学建模之MATLAB基础知识_第10张图片
冒号表达式:
格式: e1:e2:e3(产生向量)
e1为初始值,e2为步长,e3为终止值
一:数学建模之MATLAB基础知识_第11张图片
步长为1 可以省略
linspace函数
一:数学建模之MATLAB基础知识_第12张图片
结构矩阵和单元矩阵
(1):结构矩阵
一:数学建模之MATLAB基础知识_第13张图片
(2)单元矩阵(大括号)
一:数学建模之MATLAB基础知识_第14张图片
1.5矩阵元素的引用
一:数学建模之MATLAB基础知识_第15张图片
如果下表越界自动补充为0
一:数学建模之MATLAB基础知识_第16张图片
这里的序号和一般的c语言数组不太一样,这里是按列来数下标.
一:数学建模之MATLAB基础知识_第17张图片

一:数学建模之MATLAB基础知识_第18张图片
一:数学建模之MATLAB基础知识_第19张图片
一:数学建模之MATLAB基础知识_第20张图片
一:数学建模之MATLAB基础知识_第21张图片
利用空矩阵进行矩阵的增删:
例子;

>>A=[1,2,3,0,0;7,0,9,2,6;1,4,-1,1,8]
>>A(:,[2,4])=[]   //删除第2,4列的元素
>A =

     1     2     3     0     0
     7     0     9     2     6
     1     4    -1     1     8


A =

     1     3     0
     7     9     6
     1    -1     8

改变矩阵的形状
reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重新排成mn的认为的二维矩阵。
一:数学建模之MATLAB基础知识_第22张图片1.6MATLAB的基本运算
(1)基本运算
加减:
两矩阵必须是同样的
乘法运算:
列数等于行数,顺序不能颠倒
除法运算:
B/A=B
inv(A)
A/B=inv(A)B(inv 表示逆矩阵)
乘方运算A^2=A
A
点运算; .* ./ .\ .^
(这个相当于行列式)
注意区分
A*B(为线性代数中定义的矩阵乘法。按乘法定义要求必须有矩阵A的列数等于矩阵B的行数)
A.*B(符号数组的乘法,为按参量A与B对应的分量进行相乘。A与B必须为同型阵列,或至少有一个为标量)

A=[1 2 3;4 5 6;7 8 9];B=A;A*B
ans =
    30    36    42   

    66    81    96  

  102   126   150



>> B/A

ans = 

1     0     0   

 0     1     0   

  0     0     1      %矩阵这样做是不行的!!!



>> A.*B
ans =
     1     4     9   

  16    25    36  

  49    64    81


>> B./A
ans =
     1     1     1    

     1     1     1   

    1     1     1

关系运算符;
当比较的两个数是标量时,按大小比较返回0/1(布尔值);
当两个比较的是矩阵的时候,则将元素一一进行比较,返回与原矩阵同型的矩阵。
当比较的是一个标量与一个矩阵时,也是作一比较。返回矩阵
例如;

>> A=[1,2,3;4,5,6;7,8,9];B=[1,5,6;4,5,3;4,5,3]
B =
     1     5     6
     4     5     3
     4     5     3
>> A=[1,2,3;4,5,6;7,8,9]
A =
     1     2     3
     4     5     6
     7     8     9
>> A>=B
ans =
  3×3 logical 数组
   1   0   0
   1   1   1
   1   1   1
>> A=7
A =
     7
>> A>=B
ans =
  3×3 logical 数组
   1   1   1
   1   1   1
   1   1   1
>> 

一:数学建模之MATLAB基础知识_第23张图片
逻辑运算;
& ,|,~

求水仙花数

>> m=100:999;
>> m1=rem(m,10);
>> m2=rem(fix(m/10),10);
>> m3=fix(m/100);
>> k=find(m==m1.*m1.*m1+m2.*m2.*m2+m3.*m3.*m3);
>> k

k =

    54   271   272   308

>> s=m(k)

s =

   153   370   371   407

>> 

字符串数据:
一:数学建模之MATLAB基础知识_第24张图片
字符串的表示:
1.取第1~5个字符串组成的子字符串。
2.将字符串倒过来从新排序
3.将字符串中的小写字母变成相应的大写字母,其余字符不变。
4.统计字符串中小写字母的个数

>> ch='agerghh4161';
>> subch=ch(1:5)

subch =

    'agerg'

>> revch=ch(end:-1:1)

revch =

    '1614hhgrega'

>> k=find(ch>='a'&ch<='z')

k =

     1     2     3     4     5     6     7

>> ch(k)=ch(k)-32

ch =

    'AGERGHH4161'

>> length(k)

ans =

     7

>> 

一:数学建模之MATLAB基础知识_第25张图片

你可能感兴趣的:(MATLAB,笔记)