当前位置:   article > 正文

MATLAB基础入门_matlab基础操作

matlab基础操作

MATLAB

MATLAB基础

MATLAB 是美国 Math Works 公司开发的科学计算软件,在科学研究和工程技术领域得到了广泛的应用,被认为是目前最优秀的科学计算软件之一。

操作界面

请添加图片描述


注释

  • %
  • 也可以用快捷键Ctrl+R, 先选中代码再摁快捷键, 支持多行注释
  • 点击Ctrl+T,取消注释程序
  • 如果多行也可以用%{ %}

举个栗子:

X = rand(3)

%{
n = length(X)
b = 0;
for i = 1:n
    for a = 1:n
        x = X(i,a);
        b = b + x;
    end
    
%}
    
%     disp([num2str(b)]);
    c = b/10;
% 
%     disp(['第',num2str(i),'行的平均值为',num2str(c) ]);
% end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

输入/输出操作

  • disp() : 显示变量的值

    • disp(X) 显示变量 X 的值,而不打印变量名称。显示变量的另一种方法是键入它的名称,这种方法会在值前面显示一个前导 “X =”。
    A = [15 150];
    S = 'Hello World.';
    disp(A);
    disp(S);
    disp("Hello World.");
    
    • 1
    • 2
    • 3
    • 4
    • 5

    输出 :

    15   150
    Hello World.
    Hello World.
    
    • 1
    • 2
    • 3

    注 :第二个disp(S);已经自动换行

    • 如果变量包含空数组,则会返回 disp,但不显示任何内容。
    • 输出结果后自动换行, 一行只能接收一个变量, 如果在同一行输出多个变量加[]
    name = 'Alice';   
    age = 12;
    X = [name,' will be ',num2str(age),' this year.'];
    disp(X)
    
    • 1
    • 2
    • 3
    • 4

    输出 :

    Alice will be 12 this year.
    
    • 1
    • 不同维度的矩阵不能在同一行输出
    A = rand(3);
    B = rand(2);
    C = rand(1);
    disp([A,B,C]);
    
    • 1
    • 2
    • 3
    • 4

    输出 : (报错)

    错误使用 horzcat
    要串联的数组的维度不一致。
    
    • 1
    • 2
  • sprintf() :输入操作; 可以创建文本

    name = 'Alice';   
    age = 12;
    X = sprintf('%s will be %d this year.',name,age); % 创建文本
    disp(X) % 直接输出文本
    
    • 1
    • 2
    • 3
    • 4

    输出 :

    Alice will be 12 this year.
    
    • 1
  • fprintf() 输出操作; 格式化输出, 与C语言中的printf相似

    • 使用 fprintf 直接显示文本,无需创建变量。
    • 输出结果不换行, 要换行就要添加\n
    name = 'Alice';   
    age = 12;
    fprintf('%s will be %d this year.',name,age);
    fprintf("此处不换行");
    fprintf("\n");
    fprintf('%s will be %d this year.\n',name,age);
    fprintf("hello");
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    输出 :

    Alice will be 12 this year.此处不换行
    Alice will be 12 this year.
    hello
    
    • 1
    • 2
    • 3

矩阵操作

  • 矩阵是MATLAB的基础, 是MATLAB运算的基本单元, 即MATLAB中,基本的运算元素是矩阵,而不是其它高级语言中的基本数据类型。即使一个自然数,也被看成是1*1的矩阵。
>> x = [1,2,3,4]

x =

     1     2     3     4

>> x = [1,2,3,4];
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

说明 : 加分号和不加分号的区别

如果希望即时看到命令执行结果,则在命令后不加分号,否则在命令后加分号。程序中, 大多数情况下每条语句后要加分号。如果希望看到中间结果,则在语句后不加分号。

  • 矩阵创建的方式

    • 冒号

      • >> x = [1,2,3,4];
        >> x = 1:4
        
        x =
        
             1     2     3     4
        
        >> x = 1:2:4
        
        x =
        
             1     3
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
      • 冒号方式只能创建规则排列一维向量;

      • 若冒号连接三个常量时,中间的为步长; 比如 : x = 1:2:4 ; 中间的2就为步长, 增量为2, 即一位矩阵[1,3]

      • 若冒号连接两个常量, 则默认步长为1

    • 函数

      • >> y = rand(3)
        
        y =
        
            0.8147    0.9134    0.2785
            0.9058    0.6324    0.5469
            0.1270    0.0975    0.9575
        
        >> z = eye(4,3)
        
        z =
        
             1     0     0
             0     1     0
             0     0     1
             0     0     0
        
        >> z = eye(4)
        
        z =
        
             1     0     0     0
             0     1     0     0
             0     0     1     0
             0     0     0     1
        
        >> x = zeros(3,3)
        
        x =
        
             0     0     0
             0     0     0
             0     0     0
        
        >> x = zeros(4)
        
        x =
        
             0     0     0     0
             0     0     0     0
             0     0     0     0
             0     0     0     0
        
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26
        • 27
        • 28
        • 29
        • 30
        • 31
        • 32
        • 33
        • 34
        • 35
        • 36
        • 37
        • 38
        • 39
        • 40
        • 41
        • 42
        • 43
      • 例如函数 zeros(), rand(), eye()

      • 还有很多其它函数可以产生矩阵函数

      • 只带一个参数时,表示产生的方阵

  • 子矩阵

    • A = rand(3);
      B = A(2,2:3); % 取A矩阵的第2行的第2到3列的元素
      C = A(2:3,:); % 取A矩阵的第2到3行的所有元素; 
      D = A(2,3); % 取A矩阵的第2行第3列元素
      E = A(:,2:3); % 取A矩阵的所有行的第2到3列
      disp(A);
      disp(B);
      disp(C);
      disp(D);
      disp(E);
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10

    输出 :

     0.2511    0.3517    0.5497
     0.6160    0.8308    0.9172
     0.4733    0.5853    0.2858
    
     0.8308    0.9172
    
     0.6160    0.8308    0.9172
     0.4733    0.5853    0.2858
    
     0.9172
    
     0.3517    0.5497
     0.8308    0.9172
     0.5853    0.2858
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    A(:声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】

推荐阅读
相关标签