Matlab编程基础

Matlab常用命令:

Clear 清除当前工作空间中的全部变量

Clear a 清除当前工作空间中的指定变量a

Home  清除命令窗口中所有内容并将光标移动到左上角

clc    清除命令窗口中所显示的所有内容

Pack   整理内存碎片以扩大内存空间

箭头   调出已输入过的命令行

分号和》的作用:

在命令行中若一直以;结尾,则不输出结果,最后一句一定不能以;结尾。命令行均以”>>”开头,计算结果不带提示符,这样有利于读者判断某条语句是命令还是计算结果。

历史记录命令有效作用

  1. 可以双击单条命令行,可以使得其再次执行,不需要重新输入命令行。
  2. 按住ctrl键并单击鼠标左键可选中多条命令,再单击鼠标右键,可以选择create script选项,可将多条命令行作为一个文件进行编辑和保存。

 

Lookfor命令:不知道准确命令(help),根据用户提供的完整或不完整的关键词,搜索一组与之相关的命令。

Ctrl+C 可以结束搜索过程。

Help sin 可以显示出帮助信息

Edit sin 可以打开sin函数对应的.M文件

 

Matlab系统保存变量

 

I和j 虚数单位(根号-1的解)

Pi 圆周率

Ans 存放最近一次无赋值变量语句的预算结果

Inf 无穷大

Eps 机器的浮点运算误差限(若变量的绝对值小于eps,则视为0)

 

等号右边的赋值表达式不是数值,而是字符串,则字符串两边应加单引号。

 

用户自定义函数应避免与matlab内置函数重名,对于自定义函数,该函数对应的M文件应该保存在matlab可以搜索到的目录。

 

矩阵:

  1. 矩阵不同行之间必须用分号或回车符分开;
  2. 矩阵同一行的各元素必须用逗号或空格分开。

关于矩阵的matlab系统内置函数

Ones(n,m)   n行m列的全1矩阵

zeros(n,m)   n行m列的全0矩阵

Rand(n,m)   n行m列在[0,1]间均匀分布的随机矩阵

Randn(n,m)  n行m列的正态分布的随机矩阵

Eye(n)   n行n列的单位矩阵

 

向量只是矩阵的一种特殊情况,只是n或m有一个为1而已。

冒号表达式

V=0:0.1:0.5

 

V =

 

         0    0.1000    0.2000    0.3000    0.4000    0.5000

 

 

A(2,:)表示矩阵A第二行全部元素,A(:,2)表示矩阵A第2列全部元素,A(1,1:2)表示矩阵A第1行第1-2列全部元素

 

矩阵的运算

 

  1. 矩阵的代数运算

    

加减       (A,B矩阵为同维矩阵的前提下)

矩阵*      (矩阵A,B均为向量或标量,但A和B的维数必须符合矩阵乘法的定义)

矩阵左除A\B    方程A*X=B的解X  (两个矩阵的行数必须相等)

矩阵右除A/B    方程X*A=B的解X   (两个矩阵的列数必须相等)

矩阵乘方    A,B均为标量时,表示A的B次幂;当A为方阵,B为正整数,表示A矩阵的B次乘积;当A,B均为矩阵,无定义

 

常用的矩阵运算函数

Size(A)  获取矩阵A的行数和列数,分别打印出来

A’    计算矩阵的转置矩阵

Inv(A)   计算矩阵A的逆矩阵

Length(A)  计算矩阵A的长度(列数)

Sum(A)   若A为向量,则计算A所有元素之和;若A为矩阵,则产生一行向量,其元素分别为矩阵A各列元素之和

Max(A)  若A为向量,则求出A所有元素的最大值;若A为矩阵,则产生一行向量,其元素分别为矩阵A各列元素的最大值

 

元素群运算:

.*  元素群乘 矩阵A与B的对应元素

.\  矩阵B除以矩阵A对应元素

./ 矩阵A除以矩阵B对应元素

.^ 同上类似乘方运算

 

元素群的函数

例如:

 x=[0 pi/6 pi/4 pi/2];

>> sin(x)

 

ans =

 

         0    0.5000    0.7071    1.0000

矩阵的关系运算

A=ones(1,4);

>> B=[1 2 3 4];

>> A>B

 

ans =

 

     0     0     0     0

或者这样写也行:

>> A=ones(1,4);

>> B=1:1:4;

>> A>B

 

ans =

 

     0     0     0     0

与或非逻辑也是同上使用:

 A=ones(1,4);

>> B=1:1:4;

>> A&B

 

ans =

 

     1     1     1     1

 

循环控制结构

 

>> sum=0;

>> for i=1:1:50;

sum=sum+i;

end

>> sum

 

sum =

 

        1275

Sum+=i 在matlab里面不被识别,另外循环必须以end结尾,不可省略,for和end必须成对出现。另外for i=1:50也可以,默认步长为1。

 

等同于如下:

>> sum=0;

>> i=1;

>> while i<=50

sum=sum+i;

i=i+1;

end

>> sum

 

sum =

 

        1275

 

条件选择结构

 

Else不能单独使用,必须与if配对使用

If条件选择结构可以嵌套使用

另外:matlab中switch语句和C语言有所不同,switch条件选择只执行第一个匹配的case语句,不需要break,在结束时用个end就行。

 

 

关于M文件

 

M文件分为脚本文件和函数M文件两大类。

对矩阵进行降序操作

>> a=1;b=0;c=3;

>> sort([a,b,c],'descend')

 

ans =

 

     3     1     0

 

注意:关于函数调用,函数一定要和文件名一致,否则会编译出错。

Matlab的图形绘制

常用的几种格式:

Plot(y)

Plot(x,y,’option’)

Plot(x,y1,’option1’,x,y2,’option2’)  以公共的向量x作为x轴,分别以向量y1,y2为y轴绘制曲线

Plot(x1,y1,’option1’,x2,y2,’optino2’) 分别以x1,x2作为x轴,以y1,y2为y轴绘制多条曲线。

Option的选项网上可以查找。另外属性可以连续叠加使用,如选项‘--b’表示绘制蓝色的虚线。

 

Axis([0 10 -2 2 ]);%表示x轴和y轴的取值范围

Xlabel(‘string’) 标注x轴名称

ylabel(‘string’) 标注y轴名称

Title(‘string’) 标注图形标题

Legend(‘string1’,’string2’,...) 标注图例标注

Grid on 给图形增加网格

Grid off 给图形滞销网格

Gtext(string) 给图形中加入普通文本注释

例如:

figure

t=0;pi/20:2*pi;

y1=sin(t);

y2=sin(t-pi/2);

y3=sin(t-pi);

plot(t,y1,'-.r*',t,y2,'--mo',t,y3,':bs');

%图形修饰

axis([0,2*pi,-1,1]);

xlabel('弧度值');

ylabel('函数值');

title('三个不同相位的正弦函数');

legend('y1','y2','y3');

grid;

gtext('y1=sint');

gtext('y2=sin(t-pi/2)');

gtext('y3=sin(t-pi)');

还有其他特殊图形的绘制以及三维可以另外学习,记录了也记不住那么多。此外,plot绘图工具也很强大,多学习下。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值