Matlab笔记 第二章 基本操作与矩阵输入

1 基本操作

1.1 MATLAB作为计算器

  • 运算符:+ - * / ^
  • 计算结果,并将其显示
  • 优先规则:

        优先组中的左向右

        优先组是(第一组最高):

                1. 括号(())

                2. 次方(^

                3. 乘法和除法(*/)

                4. 加减(+-)

练习1

计算:cos(\sqrt{\frac{(1+2+3+4)^2}{5}})             sin(\sqrt{\pi})+ln(tan(1))              2^{3.5*1.7}             e^{sin(10)}

%%sqrt(Y):根号;log(Y):ln y;exp(Y):e^y.
>> cos(((1+2+3+4)^3/5)^(1/2))
>> cos(sqrt((1+2+3+4)^3/5))
>> sin(sqrt(pi))+log(tan(1))
>> exp(sin(10))

1.2 嵌入函数

函数可以嵌入到其他函数中:sin(cos(pi))cos(pi);sin(ans)结果相同

许多代码行可以浓缩成一个命令。

1.3 变量

在赋值之前不需要声明变量;“等于”符号(=)是赋值运算符:> A = 10

大小写不同的变量是不同的;可以把_和字母放在首位。

A = 2 %变量赋值
who %列出工作区中的变量
whos %列出工作区中的变量及大小和类型
iskeyword %获取所有 MATLAB 关键字的列表

1.4 数据类型

Matlab笔记 第二章 基本操作与矩阵输入_第1张图片

1.5 特殊变量和常数

ans:结果      i,j:复数      Inf:无穷     eps:自然常数e     NaN:不是数字     pi:圆周率

列出关键字:

>> iskeyord

1.6 MATLAB调用优先级

从高到低:变量——内建函数——子函数——私人函数(MEX-file,P-file,M-file)

%%清除变量clear variable-name
>> cos=("This string.");cos(8)
ans = "r"
>> clear cos %清除cos这个名称的变量
>> cos(8)
ans = -0.1455
%%清除工作区中的所有变量,谨慎使用
>> clear all

1.7 数字显示“格式”

>> format short;pi %短小数
ans = 3.1416
>> format long;pi %长小数
ans = 3.141592653589793
>> format shortE;pi %短小数的科学记数法
ans = 3.1416e+00
>> format longE;pi %长小数的科学记数法
ans = 3.141592653589793e+00
>> format rat;pi %将无理数近似为有理数分数或将有理数变为分数
ans = 355/113
>> format bank;pi %保留两位小数
ans = 3.14
>> format hex;pi %十进制转化为十六进制
ans = 400921fb54442d18

练习2

计算:\frac{3}{13}+\frac{4}{14}+\frac{5}{15}

>> A = 3/13 + 4/14 + 5/15
A = 0.8498
>> format rat;A
A = 232/273
>> format long;A
A = 0.849816849816850

1.8 命令窗口

 分号(;):在命令的末尾,取消在命令窗口的输出。

%%不显示运算结果
>> A = 10;

clc:清空命令窗口

箭头键↑:从命令历史记录中重新调用语句

who:显示工作区中的变量

whos:显示工作区中的变量信息

2 数组运算

2.1 数组(矢量和矩阵)

a = [1 2 3 4]; %行向量
b = [1;2;3;4]; %列向量
>> a * b
ans = 30
>> b * a
ans =
    1    2    3    4
    2    4    6    8
    3    6    9   12
    4    8   12   16
>> A = [1 21 6;5 17 9;31 2 7]; %矩阵

 2.2 数组指数

>> A(8) %单个数字表示从第一列开始数
ans = 9
>> A(3,2) %A(行,列)
ans = 2
>> A([1 3 5])
ans = 1 31 17
>> A([1 3;1 3])
ans =
    1    31
    1    31
>> A([1 3],[1 3])
ans =
    1    6
    31   7

2.3 替换元素

A(1,2) = 76;A(3,2) = 0;
A([1 2],[2 3]) = [0 0;0 0];
A(3,:) = []
A =
   1   0   0
   5   0   0

2.4 冒号运算符

>> A = [1:100]  % 从1到100,公差为1的等差数列矩阵
>> A = [1:2:99] % 从1到99,公差为2的等差数列矩阵
>> str = 'a':2:'z' %生成acegikmoqsuwy的字符串

2.5 数组级联

只要保持矩形形状,就可以通过级联形成数组。 

>> A = [1 2;3 4]; B = [8 7;5 6];
>> C = [A B] %两个矩阵横向叠加
>> D = [A;B] %两个矩阵纵向叠加  

2.6 数组运算

>> A = [1 2;3 4];B = [8 7;5 6];a = 2;
>> A + a %矩阵加实数
>> A * a %矩阵乘实数
>> A ^ a %矩阵的实数次方
>> A .^ a %矩阵上每个元素的实数次方
>> A' %转置
>> A + B %矩阵相加
>> A * B %矩阵相乘
>> A .* B %矩阵对应位置的元素相乘
>> A / B %矩阵相除
>> A ./ B %矩阵对应位置的元素相除

2.7 一些特殊矩阵

linspace(1,10,2) % 生成1 3 5 7 9的线性间距向量
eye(2) % 2X2的单位方阵,对角线上元素为1
zeros(2,3) % 2X3的零矩阵
ones(2,3) % 2X3的一矩阵
>> diag([2 3 4]) % 对角线矩阵
ans =
   2   0   0
   0   3   0
   0   0   4
rand(5) % 生成5X5的拥有均匀分布的随机数矩阵

2.8 一些矩阵相关函数

>> A = [1 2 3;0 5 6;7 0 9];
>> max(A) % 矩阵中每列元素的最大值
>> max(max(A)) % 矩阵中全部元素的最大值
>> min(min(A)) % 矩阵中全部元素的最小值
>> sum(A) % 矩阵中每列元素之和
>> mean(A) % 矩阵中每列元素取平均
>> sort(A) % 矩阵中每列元素从小到大排序
>> sortrows(A) % 绑定行对第一列排序
>> size(A) % 数组大小
ans =
   3   3
>> length(A) % 最大数组维度的长度
>> find(A==2) % 找到矩阵中对应元素的位置
ans = 4

你可能感兴趣的:(Matlab笔记,matlab,开发语言,青少年编程,矩阵,线性代数)