Matlab学习笔记(一)Matlab基本运算及语法

来源:互联网 发布:菜鸟网络 深圳 编辑:程序博客网 时间:2024/04/30 10:08

一、概述

MatlabMATrix LABoratory),也即矩阵实验室,因而数据在其中都是以矩阵为基本数据单位保存的,就算一个数字,也是1*1的矩阵。本篇总结Matlab的一些基本的语法和函数用法,刚接触Matlab的可以看看。

二、矩阵的产生及基本运算

(1)假如现在要创建3*3矩阵,如

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

可以由save函数保存为mat文件,用的时候用importdata(filename)取出,如

save example A

或者是:

save 'example.mat' 'A'

则在右边文件路径下生成example.mat,使用importdata(filename)取出

>> B =importdata('example.mat') B =     1     2     3     4     5     6     7     8     9

(2)矩阵的基本运算包括+-*/(右除)、\ (左除)^ (乘方).* (点乘).^ (点乘方)./ (点右除)等等

+-*为矩阵的常规运算,不作解释

/(右除),例如A/B,表示将AB的逆矩阵相乘

\ (左除),例如A\B,表示将A的逆矩阵与B相乘

^ (乘方),例如A^2,则表示A*AA^3则表示A*A*A

.* (点乘).^ (点乘方)./ (点右除),对于这些加了.的运算符,要求运算符两边的矩阵必须是同等大小,然后执行的操作是两个矩阵中对应位置的元素进行乘、乘方、右除运算

(3)矩阵的行列式、秩、求逆、迹、范数、特征值与特征向量

Am*n矩阵,求行列式: det (A)

求逆矩阵:inv(A)

求秩:rank (A)

求迹(矩阵的特征值之和):trace(A)

求范数有:

A1范数下的条件数:cond(A,1)

A2范数下的条件数:cond(A, 2)

A的无穷范数下的条件数为:cond(A , inf)

求矩阵特征值与特征向量有:

X = eig ( A):表示求矩阵A的全部特征值,构成向量X

[Y , D] = eig (A)b表示矩阵A的全部特征值构成对角阵DA的特征向量构成Y的列

(4)利用MATLAB内置的函数产生矩阵

ones ():生成全为1的矩阵

zeros ():生成全为0的矩阵

eye ():生成单位阵

rand():生成在(0 , 1)区间均匀分布的随机阵

randn():生成均值为0,方差为1的标准正太分布随机矩阵

company ():生成伴随矩阵

hilb ():生成Hilbert

magic():生成魔方阵

用法如ones(4,5)ones(3)

(5)矩阵的拼接

水平拼接:C=[A B ]C=[A ,B]

垂直拼接:C=[A ; B]

亦可由拼接函数cat()

C1 = cat (1 , A1 , A2);   %垂直拼接

C2 = cat (2 , A1 , A2);   %水平拼接

C3 = cat (3 , A1 ,A2);   %三维数组

(6)矩阵的寻访

1.利用下标寻访

>> A =[1 2 3 ;4 5 6;7 8 9]A =     1     2     3     4     5     6     7     8     9>> b =A(2,2)b =     5

2.多元素寻访

M (1 , : )访问第1行所有元素

M (1:3 , :)访问第1~3行所有元素

M(: , 2)访问第2列所有元素

M (: , 2:3)访问第2~3列所有元素

M (1:2 , 2:3)访问第1~2行,第2~3列所有元素

M (:) 访问所有元素

三、M文件与M函数

(1)M文件

可以先把程序编写存储在M文件中,然后直接按下run按钮运行,这部分较为基础

(2)M函数

M函数是一个特殊的M文件,通常将某个函数定义于此,并将该函数与其他M文件放置在同一工作路径下,就可在其他M文件中调用该函数。

M函数文件的开头格式为:

function表示返回变量列表 = 函数名 (输入变量列表 )

输入变量要用逗号隔开,输出变量多于1个的时候,也要用逗号隔开,并且用方括号括起来。该M函数文件的文件名需保存为函数名

示例

function [y1 , y1] = func ( x , y ,z ,w)

语句组

end

并且该M函数文件名必须存为func.m

四、Matlab程序设计的基本语法

(1)数据的输入和输出

input函数可用实现数据的输入,该函数的调用格式为

A = input ( 提示信息,选项)

其中,提示信息为一个字符串,用于提示用户输入什么样的数据

示例:

>> A = input('请输入A的值:')请输入A的值:1A =     1

当函数括号中第二个参数使用’s’,则可以输入一个字符串保存至输出变量中

示例:

>> A = input('How are you? ' , 's')How are you? I am fine.A =I am fine.

对于数据的输出,则使用函数disp,调用格式为:

disp (输出项)

输出项可为字符串,也可为矩阵,也可为数据变量;当将字符串与数据变量一块输出显示时,需用num2str(),将变量转换为字符串。

示例:

>> A = 2 A =     2>> disp(['1+1 = ',num2str(A)])1+1 = 2

(2)判断语句

判断语句格式为

if 表达式

       执行程序块

end

或者

if 表达式

       执行程序块1

else

       执行程序块2

end

或者有多个选择时,可以if …elseif…else…end,中间可包含多个elseif语句

(3)分支结构

分支语句结构为:

switch 分支语句

case 条件语句

       执行程序块

case {条件语句1 ,条件语句2 ,…}

执行程序块

end

(4)for循环语句

for 语句调用的基本格式为:

for index =初值 : 增量 :终值

       语句组

end

 

for 循环语句还可以嵌套使用

示例

>> for i = 1:100

     for j =1:100

         A(i ,j) =i+j;

     end

end

(5)while循环语句

while 表达式

       执行程序块

end

五、Matlab二维绘图的基本函数

figure函数用于创建一个新的图形对象,用来显示图形,配合plot函数。

subplot函数用于生成与控制多个坐标轴,用法为subplot(m,n,p),即表示将一图形窗口分成m*n个小窗口,在第p个小窗口中创建一坐标轴

axis函数用于坐标轴的刻度与外在的显示,用法为 axis([xmin , xmax , ymin , ymax]),确定坐标轴的范围

title函数用于给当前轴加上坐标轴,用法为 title(‘string’)

xlabelylabel函数用于给xy轴贴标签,用法为xlabel(‘string’)ylabel(‘string’)

legend函数用于在图形上添加图例,用法如legend(‘string1’ , ‘string2’ ,’ string3’ ,…., pos)pos表示图例的放置位置

plot函数用于绘制曲线图,用法如 plot(x1,y1, ‘线型颜色‘ , x2 , y2 ,‘线型颜色’ , …)

其中线型有+o* .xd^v><shp

颜色有---:-.

还有很多函数,这里不一一例举了。


 

 

 

 

 

 


 


 

0 0
原创粉丝点击