@scric
2016-07-15T03:09:13.000000Z
字数 2283
阅读 1502
数学建模
特点:
- 输入一条命令,回车后立即就可以得出该命令的结果;
由于matlab的操作对象是矩阵,故着重讲矩阵的应用。
matlab操作对象是矩阵,可以直接输入来定义矩阵。
比如:
A=[1 2 3;4 5 6;7 8 9]
即可构建一个矩阵A,3*4的矩阵。
注意:
- 矩阵用方括号"[]"括起
- 矩阵同一行中元素之间用空格或者逗号分隔,行与行之间用分号";"分开,也可以用回车来代替。
再注意:
1,矩阵元素可以是任何数值表达式
比如:
x=[-1.3,sqrt(3),(1+2+3*4/5)] %sqrt(x)为求x的根号%为matlab中说明符号
“A=[X]” 和 “A=[X];”的显示不同。没有加分号则会将矩阵赋值给A并在窗口中输出A,加了分号则只赋值不输出。
试试看不加分号有什么不同。
1,大矩阵可以把小矩阵作为其元素
比如,在原矩阵下方加一行
A=[1 2 3]
A=[A;1 2 3]
or
A=[1 2 3]
C=[1 2 3]
A=[A;C]
那么如何在原矩阵的右边添加一列?
A=[1;2;3;4]
C=[1;2;3;4]
A=[A C]
如何在原矩阵的左边添加一列?
仔细观察两个代码间的区别。
需要想一想的是,如果A,C的行列不一样的话会出现什么结果?该如何解决?
例子:
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] ?
首先先自己尝试一下吧(笑);
还不会的话就继续看下去。
例子:
A=[1 2 3 4];
问题:
如何输出A1=3?
A1=A(3) %提取该行列式中第三个数字
那么如何输出A2=4呢?have try;
再
A=[1 2 3;2 3 4];
如何输出第二行第三列的数字呢?即输出A3=4?
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可以省略。
比如
x=1:5 %首项为1,公差为1,末项为3;
y=1:2:6 %首项为1,公差为2,末项为5;
用法二
格式:
A(i:j,m:n) %表示由矩阵A的第i到第j行和第m到第n列交叉线上的元素组成的子矩阵。
例子:
输出
a=[1 2 3;4 5 6;7 8 9];
a1=a(1:2,2:3)
问题:
试输出第二列的数字即a2=2 5 8
事实上也可以利用冒号提取矩阵的整行或整列。
比如
A(1,:)
A(:,1:3)
A(:,:)
试试看,看他们是怎么工作的.
(## ## matlab帮助系统
(help)
(## ## matlab查找命令
(look for)
)
变量命名原则:
- 以字母开头
- 长度不超过63个字符
- 区分字母的大小写
形式:
变量=表达式
表达式使用运算符将有关运算量连接起来的式子,其结果被赋值给赋值符号“=”左边的变量。
比如
a=1+2+6-6 %将结果赋值给变量a
- 若不想在屏幕上输出结果,可以在语句最后加分号。
- 如果语句很长,可用续行符“...”(三个点)续行,续行符的前面最好留一个空格。
比如
c=1+2+3 ...{enter} %回车
+5+6
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矩阵,单位矩阵,均匀分布的随机矩阵,正态分布的随机矩阵
eye(size(A)):产生与A矩阵同阶的单位矩阵
A=[1 2 3;1 2 3;1 2 3]
eye(size(A))
zeros(m,n) :产生0矩阵
ones(m,n) :产生元素全都为1的矩阵
rand(m,n) :产生随机元素的矩阵
length(a) :返回向量的长度
zeros(4,4)
ones(4,4)
rand(4,4)
详细可以查看手册
问题:
求一元二次方程 ax^2+bx+c=0 的根
solve('a*x^2+b*x+c=0')