• # MATLAB笔记


    MATLAB笔记

    未分类

    • 化简函数simplesimplify
    • doc 打开帮助文档
    help xxx   %查找xxx的帮助文档
    
    format rat   %format控制输出格式,rat分数输出
    
    • 脚本加分号表示一条语句,不加分号表示在命令行下执行这条语句(会有相应输出)
    • 矩阵每行元素用;隔开,同行元素使用,

    基本运算符

    在这里插入图片描述

    function自定义函数

    • function用来定义函数,一般一个函数放在一个.m文件里。举个简单的例子建立一个myfunction.m,然后在文件中写。
      function y=myfunction(a,b)
      其中a,b是输入函数的参数,y是函数返回的值。
      当需要返回多个值时,可以将y看作一个数组,或者直接将函数的开头写成如function [x,y]=myfunction(x,y)的形式。
      然后就是定义函数的内容,通俗的说就是怎样由输入参数a,b得到返回值y。比如最简单的y=a+b。
    • syms x,syms f(x);定义符号变量,前者定义变量x,后者定义函数表达式(相当于同时定义自变量和因变量)。未经过定义就使用会报错
    % 简单的符号函数画图
    sysm x   %定义变量
    f=x^2    %定义符号函数表达式
    ezplot(y)    %符号函数画图
    
    %%
    function [y1,...,yN] = myfun(x1,...,xM) 声明名为 myfun 的函数,该函数接受输入 x1,...,xM 并返回输出 y1,...,yN。
    
    %%
    总结一下,将下面的代码
    function y=myfunction(a,b)
    y=a+b;
    保存为一个m文件myfunction.m,调用方式如下。
    num=myfunction(3,4);
    这样就可以由函数中的y=a+b得到num的值是3+4=7
    

    end用法

    • end 终止 for、while、switch、try、if 和 parfor 语句。若没有 end 语句,则 for、while、switch、try、if 和 parfor 会等待进一步输入。每个 end 与前面最近的未配对 for、while、switch、try、if 或 parfor 进行配对,用于界定其范围
      end 还会标记函数的终止

    注释

    % 为单行注释
    
    %{
    	code............
    %}    多行注释,其中注释符必须另起一行
    

    输出

    • disp(x)直接输出x
    • fprintf('x=%d ',x)自定义输出格式
    • x不加分号(无论在脚本还是命令行)

    生成矩阵

    • a = magic ( 3 ) 产生3 * 3 的魔方矩阵,它的每行,每列及对角线的数之和相等,该和的值为1+2+3+..…..+n^2的和再除以n,n必须为大于或等于3的整数。
    • a = ones(n)/ones(n,m); %生成 n * n 的全1 矩阵,,生成全1 的 n * m 矩阵,ones可以替换成zeros 生成全0矩阵,
    • 生成全 x 的矩阵: 通过先生成全1的矩阵,a = a *3,生成了全3 的矩阵
    • rand函数则用于产生由在(0, 1)之间均匀分布的随机数组成的数组 ,如rand(4)则是产生一个1行4列的数组,rand(2,3)则是2行3列矩阵,rand(2,3,4)则是四个2行3列的矩阵
    • whos查看工作空间变量
      在这里插入图片描述
    • save,load,clear 命令。save用于保存数据到 mat文件中,load用于加载mat文件,clear则是清除当前工作区变量。
      在这里插入图片描述

    画图专题

    • 同时画多个图用于对比处理
    • 同时画多个图用于对比处理
    >> plot(x,y,'.-')%'.-'表示直接用点表示点,'o-'表示空心圆表示,'*-'表示用*表示
    
    
    >> x= -100:100;   %x从-100到100;,每隔1取一个点用于作图
    >> y = x .*x;
    >> plot(x,y) ;     % 作图函数
    >> x= -3: 0.1: 3;   % 设置步长为0.1,即每隔0.1取一个点用于作图
    
    >> axis equal;   % 设置轴的单位长度一致
    >> grid on;   %设置显示网格
    >> hold on; %设置保留之前的图像,MATLAB默认新图像覆盖旧图像
    
    
    >> title ('y vs x');  %在图的顶部添加标题
    >> x(y)label('sss');  %为x(y)轴添加标签
    
    同一窗口画多个图像:
    subplot(m,n,p);plot(x1,y1);p为先从左往右再从上往下数第p个
    subplot(2,2,【3,4】) 3号4号位置画一个图
    
    三维图:
    曲线plot3(x,y,z);
    彩色曲面surf(x,y,z);彩色网线图mesh(x,y,z);
    生成网格[X,y]=meshgrid(x,y);
     
    >> x = 3 : 5;  %3 4 5
    >> y = 6 : 9;  %6 7 8 9
    >> [X,y]=meshgrid(x,y);
    >> z = x .* 2 + y .* 2;
    >> surf(x,y,z);
    
    生成的网格:
    (3,6),(4,6),(5,6);
    (3,7),(4,7),(5,7);
    (3,8),(4,8),(5,8);
    (3,9),(4,9),(5,9);
    也就是 x 和 y 所围成的正方形中的所有的点
    
    执行meshgrid函数之后
    x , y 从一维矩阵变成 3 * 4 的矩阵
    x = 
    3 4 5
    3 4 5
    3 4 5
    3 4 5
    
    y =
    6 6 6
    7 7 7
    8 8 8
    9 9 9
    
  • 相关阅读:
    spark动态资源分配
    G1垃圾回收器
    主流八大开源OLAP技术架构对比
    http菜鸟教程
    @Component, @Repository, @Service的区别
    Flink如何保证端到端的一致性
    计算机组成原理
    yarn session和perjob的区别
    hbase为什么不适合scan
    springboot starter
  • 原文地址:https://www.cnblogs.com/sstealer/p/11110755.html
Copyright © 2020-2023  润新知