MATLAB基础(一):简介及数值数据特点与常用数学函数

前言:
  这学期已经忙得要死了,还作死报了数学建模,关键是选了数学建模选修课,还要写作业,那就学习一下MATLAB吧,算是了解一下擅长数值计算或者说科学计算的编程语言

本系列博客记录MATLAB学习过程,非编程零基础


可交互式编程的命令式语言
  MATLAB 的语言是一种类似于Python的可交互式编程的命令式语言

一些基本特点
语句末尾带不带 ; 均可,不带 ; 立即输出当前运算结果
多行代码用续行符 … ,
大小写敏感, 所有系统函数均为小写
下标从1开始,下标访问使用()
矩阵元素列优先存储

面向矩阵运算的特性
  MATLAB 产生于矩阵运算,常用数学函数的参数都定义为矩阵变量,标量则是矩阵变量的特例。函数在运算时是将函数逐项作用于矩阵的每个元素上,运算结果是一个与自变量同型的矩阵

标识符的解析顺序
  MATLAB 的标识符解析顺序:
  变量 → 内部函数 → 程序文件(当前文件夹下的程序文件 → 文件搜索路径文件夹中的程序文件)

>>sin(1)
sin(1)
	  = 0.8415
>>sin = [1,2,3,4,5]
>>sin(1)
sin(1)
	  = 1
//sin被先解释为变量sin,此时删除sin变量后可以正常使用sin函数

所以尽量不要使用内部函数名作为变量名,以免屏蔽函数


MATLAB数值数据类型及特点

  • 整型
    有符号、无符号8位、16位、32位、64位
  • 浮点型
    单精度 single 4字节、双精度 double 8字节
    MATLAB中数值数据默认为double型
  • 复数型
    复数型数据包括实部和虚部两部分,均默认为double型,虚数单位用 i 或 j 来表示,real()取得复数实部,imag()取得虚部

MATLAB的类型转换使用的是数据类型转换函数,如uint8()、转换为无符号8位,int8()、转换为有符号8位,single()、转换为单精度

数据类型转换函数转换越界数据时不会产生溢出效果,到达极值返回

class()函数获得变量类型


数值数据的输出格式
作用于全局的format命令的使用:format 格式符
格式符:long(保留15位小数),short(保留4位小数,默认格式)
format命令只改变数据输出格式,而不影响数据的计算和存储


常用数学函数

  • 面向矩阵运算的特性
    与上面提到的相同

    >>A = [4,2;3,6]
      A = 
      	 4    2
      	 3    6
    >>B = exp(A)
      B = 
      	 54.5982    7.3891
      	 20.0855    403.4288
    
  • 涉及度数的函数按弧度单位与角度单位区分
    以角度为单位的函数都在其余函数名后加一个d,表示以角度为单位

     sin(pi/2)
     sind(90)
    
  • abs()函数 ①求实数的绝对值 ②复数的模 ③字符串的ASCII码值

  • 取整函数
    fix()、舍去小数,round()、小数点后一位四舍五入,ceil()、ceil天花板 向上取整,floor()、floor地板 向下取整

  • 求余函数   rem(),mod()

  • 判断素数 isprime()  返回 0 或 1


例子

问题:求区间[1,100]内的所有素数

num = 1:100; // num为从1到100的向量(矩阵)
judge = isprime(num); // 判断num的每一个元素是否为素数,结果保存在judge向量中
judge = find(judge); // 筛选出judge中非0元素 的序号
ans =  num(judge); //得到素数向量

2019/4/15

posted @ 2019-04-15 20:51  kafm  阅读(392)  评论(0编辑  收藏  举报