导航

1.2Matlab基本语法和基本操作.

 

Contents

1.2.1 变量赋值:

一般形式: 变量 = 表达式(数)

a = [1 2 3 ; 4 5 6 ; 7 8 9 ]    %矩阵形式赋值.
a = 1:2:10                      %固定步长的矩阵.
zeros(3,2)                      %三行两列的全零矩阵.
who                 %   检查工作空间的变量
whos                %   检查存于工作空间变量的详细资料
a =

     1     2     3
     4     5     6
     7     8     9


a =

     1     3     5     7     9


ans =

     0     0
     0     0
     0     0


Your variables are:

A    B    C    X    Y    Z    a    ans  b    f1   f2   fs   i    num  t    x    y    y1   y2   yy   

  Name       Size             Bytes  Class     Attributes

  A          3x3                 72  double              
  B          3x3                 72  double              
  C          3x3                 72  double              
  X         21x21              3528  double              
  Y         21x21              3528  double              
  Z         21x21              3528  double              
  a          1x5                 40  double              
  ans        3x2                 48  double              
  b          1x32               256  double              
  f1         1x1                  8  double              
  f2         1x1                  8  double              
  fs         1x1                  8  double              
  i          1x1                  8  double              
  num        1x1                  8  double              
  t          1x221             1768  double              
  x          1x21               168  double              
  y          1x21               168  double              
  y1         1x126             1008  double              
  y2         1x126             1008  double              
  yy         1x221             1768  double              

1.2.2 矩阵运算

常用函数:

%* norm    范数
% * det     行列式
% * inv     方阵的逆矩阵
% * size    矩阵的阶数
% * rank    秩
% * trace   迹
% * eig     特征值和特征向量
% * ^       乘方运算
% * sqrtm   开方运算
% * expm    指数运算
% * logm    对数运算

A = [6 7 5 ; 3 6 9 ; 4 1 5 ]
B = 20 + A
C = inv (A) * B

eig(C)      %求矩阵的特征根

% 矩阵的乘方运算和开方运算
A = [6 7 5 ; 3 6 9 ; 4 1 5 ]
B = A^2
C = sqrtm(B)
A =

     6     7     5
     3     6     9
     4     1     5


B =

    26    27    25
    23    26    29
    24    21    25


C =

    3.8571    2.8571    2.8571
   -0.9524    0.0476   -0.9524
    1.9048    1.9048    2.9048


ans =

    4.8095
    1.0000
    1.0000


A =

     6     7     5
     3     6     9
     4     1     5


B =

    77    89   118
    72    66   114
    47    39    54


C =

    6.0000    7.0000    5.0000
    3.0000    6.0000    9.0000
    4.0000    1.0000    5.0000

1.2.3 程序控制语句

  • if语句
  • 循环语句

if语句

x = 32 ; y = 86;
if x > y
    'x 大于 y'
elseif  x < y
    'x 小于 y'
elseif x == y
   ' x 等于y'
else 'error'
end
ans =

x 小于 y

循环语句

 
  • for 循环的基本格式为:

for 循环变量 = 起始值 : 步长 : 终止值
   循环体
end

 

% for循环使用示例
a = 0;
for i = 1:1:10
    a = a + i ;
end
a
a =

    55

 

  • while循环语句基本格式为

while    表达式
     循环体
end

 

% while循环使用示例
num = 0; a = 5;
while a >1
    a = a/2;
    num = num + 1;
end
num
num =

     3

1.2.4 基本绘图方法

  • plot 二维线性图
  • subplot 绘制子图
  • figure() 创建一个图的窗口
  • titel 图的标题
  • xlabel x坐标
  • ylabel y坐标
  • grid 图显示网格
  • hold 保持当前图形
  • clf 清除图形和属性
  • mesh 三维网线图
  • plot3 三维图形
  • surf 三维表面图
  • 绘图的基本步骤
  • 三维图形的绘制
  • 空间曲面的绘制

绘图的基本步骤:

x = -pi:.1:pi;
y1 = sin(x);
y2 = cos(x);        %准备绘图数据
figure(1)           %打开图形窗口
subplot(2,1,1)      %确定第一幅图绘图窗口
plot(x,y1)          %以x,y1绘图
title('绘图的基本步骤') %为第一幅图设置标题:"绘图的基本步骤"
grid on             %显示网格线

subplot(2,1,2)      %确定第二幅图绘图窗口
plot(x,y2)          %以x,y2绘图
xlabel('time')      %为第二幅设置x坐标名'time'
ylabel('y')         %为第二幅设置y坐标名'y'

figure(2)           %打开图形窗口
subplot(1,2,1),stem(x,y1,'r')       %绘制红色的脉冲图
subplot(1,2,2),errorbar(x,y1,'g')   %绘制绿色的误差条形图

 

chapter1_2_01

 

chapter1_2_02

三维图形的绘制

figure(3)
x = 0:0.1:4*pi;
y1 = sin(x);
y2 = cos(x);
plot3(y1,y2,x)
title('绘图的三维图形')
grid on

 

chapter1_2_03

 

空间曲面的绘制

x = [-2:0.2:2];
y = x;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);

subplot(2,2,1)          % 绘制子图第一幅
surf(Z);
shading flat

subplot(2,2,2)           % 绘制子图第二幅
mesh(Z);

subplot(2,2,3)           % 绘制子图第三幅
meshc(Z)

subplot(2,2,4)           % 绘制子图第四幅
surfl(Z)
view(20,7)

 

 

chapter1_2_04

posted on 2012-09-01 12:06  淅沥枫  阅读(19379)  评论(0编辑  收藏  举报