[关闭]
@scric 2016-07-15T03:09:13.000000Z 字数 2283 阅读 1502

数学建模之Matlab学习

数学建模


特点:

  • 输入一条命令,回车后立即就可以得出该命令的结果;

## 矩阵

由于matlab的操作对象是矩阵,故着重讲矩阵的应用。

matlab操作对象是矩阵,可以直接输入来定义矩阵。
比如:

  1. A=[1 2 3;4 5 6;7 8 9]

即可构建一个矩阵A,3*4的矩阵。
注意:

  • 矩阵用方括号"[]"括起
  • 矩阵同一行中元素之间用空格或者逗号分隔,行与行之间用分号";"分开,也可以用回车来代替。

再注意:

1,矩阵元素可以是任何数值表达式

比如:

  1. x=[-1.3,sqrt(3),(1+2+3*4/5)] %sqrt(x)为求x的根号%为matlab中说明符号

“A=[X]” 和 “A=[X];”的显示不同。没有加分号则会将矩阵赋值给A并在窗口中输出A,加了分号则只赋值不输出。

试试看不加分号有什么不同。

### 矩阵元素的赋值

1,大矩阵可以把小矩阵作为其元素
比如,在原矩阵下方加一行

  1. A=[1 2 3]
  2. A=[A;1 2 3]
  3. or
  4. A=[1 2 3]
  5. C=[1 2 3]
  6. A=[A;C]

那么如何在原矩阵的右边添加一列?

  1. A=[1;2;3;4]
  2. C=[1;2;3;4]
  3. A=[A C]

如何在原矩阵的左边添加一列?
仔细观察两个代码间的区别。
需要想一想的是,如果A,C的行列不一样的话会出现什么结果?该如何解决?

### 矩阵元素的引用

例子:

  1. A=[1 2 3;2 3 4; 5 6 7]; %注意该矩阵末尾符号';'

问题:
1 , 如何输出矩阵 A ?
2 , 如何输出矩阵 A1 =[1 2 3] ?
3 , 如何输出矩阵 A2 =[1;2;5] ?
4 , 如何输出矩阵 A3 =[1 2 3;8 8 8;5 6 7] ?
5 , 如何输出矩阵 A4 =[1 2 3;5 6 7] ?

首先先自己尝试一下吧(笑);
还不会的话就继续看下去。

#### 逗号 ',' 的使用

例子:

  1. A=[1 2 3 4];

问题:
如何输出A1=3?

  1. A1=A(3) %提取该行列式中第三个数字

那么如何输出A2=4呢?have try;

  1. A=[1 2 3;2 3 4];

如何输出第二行第三列的数字呢?即输出A3=4?

  1. A3=A(2,3) %提取矩阵中第二行第三列的数字

那么如何输出A4=1? have try

再 如果把括号换成方括号会有什么结果?为什么呢?
即A3=A[2,3]
再,如果把A漏掉的话会有什么结果?为什么呢?
即A3=(2,3)

#### 冒号':'的用法

用法一
格式:

a:b:c %产生一个用等差序列组成的向量;a是首项,b是公差,c确定最后一项;若公差b=1,则b可以省略。

比如

  1. x=1:5 %首项为1,公差为1,末项为3
  2. y=1:2:6 %首项为1,公差为2,末项为5;

用法二
格式:

A(i:j,m:n) %表示由矩阵A的第i到第j行和第m到第n列交叉线上的元素组成的子矩阵。

例子:
输出

  1. a=[1 2 3;4 5 6;7 8 9];
  2. a1=a(1:2,2:3)

问题:
试输出第二列的数字即a2=2 5 8

事实上也可以利用冒号提取矩阵的整行或整列。
比如

  1. A(1,:)
  2. A(:,1:3)
  3. A(:,:)

试试看,看他们是怎么工作的.

(## ## matlab帮助系统
(help)
(## ## matlab查找命令
(look for)

## Matlab变量

### 简介

变量命名原则:

  1. 以字母开头
  2. 长度不超过63个字符
  3. 区分字母的大小写

形式:

变量=表达式

表达式使用运算符将有关运算量连接起来的式子,其结果被赋值给赋值符号“=”左边的变量。
比如

  1. a=1+2+6-6 %将结果赋值给变量a

### 分号和续行符的作用

  1. 若不想在屏幕上输出结果,可以在语句最后加分号。
  2. 如果语句很长,可用续行符“...”(三个点)续行,续行符的前面最好留一个空格。

比如

  1. c=1+2+3 ...{enter} %回车
  2. +5+6
  1. c=1+2+3...{enter} %回车

比较一下这两行代码。看看有什么不同


分割线内内容日后补充
(### ### 变量的查询
(who)
(whos)

(### ### 系统预定义变量
pi,inf,nan,eps,(i,j),ans

(### ### Matlab数值运算
Matlab中的默认数 是双精度实数,表示方法同C语言。
若无制定变量,则系统会自动将结果赋值给变量‘ans’
输出格式可以通过format命令指定
(### ### 变量的存储
save:将所有变量存入文件matlab.mat
(### ### 变量的读取
load :将数据文件中的变量载入当前工作空间
clear:清除当前工作空间中的变量
(## ## M文件
(### ### 命令(script)文件
运行方式
注意
(### ### 函数(function)文件
特点
注意

(# # 常用基本命令
(## ## 常用矩阵生成
(### ### 全0矩阵,全1矩阵,单位矩阵,均匀分布的随机矩阵,正态分布的随机矩阵


## Matlab矩阵(数值)运算

### 常用函数

eye(size(A)):产生与A矩阵同阶的单位矩阵

  1. A=[1 2 3;1 2 3;1 2 3]
  2. eye(size(A))

zeros(m,n) :产生0矩阵
ones(m,n) :产生元素全都为1的矩阵
rand(m,n) :产生随机元素的矩阵
length(a) :返回向量的长度

  1. zeros(4,4)
  2. ones(4,4)
  3. rand(4,4)

详细可以查看手册

## matlab图形可视化

## matlab符号运算

问题:
求一元二次方程 ax^2+bx+c=0 的根

  1. solve('a*x^2+b*x+c=0')

### 符号对象的建立(sym和syms)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注