matlab函数

朝花夕拾之Matlab矩阵表示

我的未来我决定 提交于 2020-01-28 23:24:18
1.实数值矩阵输入 MATLAB的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或矩阵。 不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([ ])内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重的方括号。如: >> Time = [11 12 1 2 3 4 5 6 7 8 9 10] Time = 11 12 1 2 3 4 5 6 7 8 9 10 >> X_Data = [2.32 3.43;4.37 5.98] X_Data = 2.43 3.43 4.37 5.98 >> vect_a = [1 2 3 4 5] vect_a = 1 2 3 4 5 >> Matrix_B = [1 2 3; >> 2 3 4;3 4 5] Matrix_B = 1 2 3 2 3 4 3 4 5 >> Null_M = [ ] %生成一个空矩阵 2.复数矩阵输入 复数矩阵有两种生成方式: 第一种方式 例1-1 >> a=2.7;b=13/25; >> C=[1,2*a+i*b,b*sqrt(a); sin(pi/4),a+5*b,3.5+1] C= 1.0000 5.4000 + 0.5200i 0.8544 0

Matlab学习笔记(二)——数据类型

怎甘沉沦 提交于 2020-01-28 04:37:26
2.1 逻辑型 2.1.1 逻辑型简介 logical函数可以将任意类型的数组转换为逻辑类型,其中非零元素为真,零元素为假 true函数可以产生逻辑真值数组 false函数可以产生逻辑假值函数 2.1.2 返回逻辑结果的函数 参与逻辑运算的操作数不一定必须是逻辑类型的变量或常数,也可以使用其他类型的数据进行逻辑运算,但运算的结果一定是逻辑类型的数据 && 具有短路作用的逻辑“与”操作 || 具有短路作用的逻辑“或”操作 any 当向量中元素有非零元素时,返回真 all 当向量中元素都是非零元素时,返回真 短路作用是指,在进行&&运算时,若参与运算的变量有多个,如a&&b&&c,若a为false,则后面两个不再被处理,且返回运算结果false 2.2 字符和字符串 2.2.1 创建字符串 一般字符串的创建: a=‘matlab’ 所有的字符串都用两个单括号引起来,进行输入赋值 字符串的寻访:通过坐标实现,matlab按照从左至右对字符串中的字符依次编号 字符串数组的创立:可以像数值数组的建立那样直接输入,也可以用str2mat等函数建立 2.2.2 字符串比较 strcmp 判断两个字符串是否相等 strncmp 判断两个字符串前n个字符是否相等 strcmpi和strncmpi 二者作用相等,只是在比较过程中忽略了字母大小写 2.2.3 字符串的查找与替换 strrep

Matlab 内联函数及匿名函数

本秂侑毒 提交于 2020-01-26 18:52:32
inline 例子 clear; fun = inline('x*sin(x)+1'); x = 1; y = fun(x); str = sprintf('x = %.3f, y = %.3f \n', x, y); fprintf(str); 匿名函数 定义匿名函数,语法是fhandle=@(arglist) expression 其中fhandle就是调用该函数的函数句柄(function handle),相当于C语言中的函数指针,arglist是参数列表,多个参数使用逗号分隔,Expression则是该函数的表达式,例如定义x和y的平方和函数: >> f=@(x,y) x*x+y*y f = @(x,y)x*x+y*y 一旦定义了匿名函数,使用方式和inline函数类似,例如计算f(3,4): >> f(3,4) ans = 25 前面提到,匿名函数可以使用工作空间的变量,例如创建函数f(x,y)=x^2+y^3: >> p=2; >> q=3; >> f=@(x,y) x^p+y^q f = @(x,y)x^p+y^q 计算f(2,3): >> f(2,3) ans = 31 如果修改p或者q的值,例如将q改为2: q = 2 >> f(2,3) ans = 31 计算结果并没有改变,这是因为,该函数句柄保存的是函数在创建时的快照,而不是动态的访问其中的变量

图像的空域滤波增强

你离开我真会死。 提交于 2020-01-26 03:45:56
文章目录 1.噪声与imnoise函数 2.平滑滤波器 3.中值滤波器 4.自适应滤波器 5.锐化滤波器 使用空域模板进行的图像处理,称为图像的空域滤波增强,模板本身称为空域滤波器。空域滤波增强的机理就是在待处理的图像中逐点的移动模板,滤波器在该点的响应通过事先定义的滤波器系数和滤波模板扫过区域的相应像素值的关系来计算。 空域滤波器可以分为平滑滤波器、中值滤波器、自适应除噪滤波器和锐化滤波器。 1.噪声与imnoise函数 图像噪声按照其干扰源可以分为内部噪声和外部噪声。外部噪声,既指系统外部干扰以电磁波或经电源串进系统内部而引起的噪声,如电气设备、天体放电现象等引起的噪声。内部噪声,一般可分为以下4种: (1)由光和电的基本性质所引起的噪声 (2)电器的机械运动产生的噪声 (3)器件材料本身引起的噪声 (4)系统内部设备电路所引起的噪声 按噪声与信号的关系分类,可以将噪声分为加性噪声和乘性噪声两大类。设f(x,y)为信号,n(x,y)为噪声,噪声影响信号后的输出为g(x,y)。表示加性噪声的公式如下: 加性噪声和图像信号强度是不相关的,如运算放大器。图像在传输过程中引进的“信道噪声”,电视摄像机扫描图像的噪声,这类带有噪声的图像g(x,y)可看成理想无噪声图像f(x,y)与噪声n(x,y)之和。形成的波形是噪声和信号的叠加,其特点是n(x,y)和信号无关。如一般的电子线性放大器

matlab的一些常见函数的使用

こ雲淡風輕ζ 提交于 2020-01-25 20:30:15
disp 输出内容函数; cd 改变当前工作目录; pwd 获取当前工作目录; size(a,b) b=1,输出行数 b=2,输出列数; zeros(m,n) 产生m*n个,元素为0的数组; randperm(m,n) 随机在1到m中选择n个数,然后乱序输出;若只有m,没有n,则将1到m个数乱序输出; [~,b]=size(c) "~"表示忽视此参数; 在中括号[;]中,分号的作用表示另取一行; 矩阵的下标都是从1开始的,不是从0开始; 来源: CSDN 作者: 龙在水中游 链接: https://blog.csdn.net/u012510648/article/details/103816181

深度学习

六眼飞鱼酱① 提交于 2020-01-25 19:06:04
神经网络中激活函数的作用: a. 不使用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合。 b. 使用激活函数,能够给神经元引入非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以利用到更多的非线性模型中。 激活函数需要具备以下几点性质: 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参 数。 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。 Caffe Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口; 可以在CPU和GPU直接无缝换:Caffe::set_mode(Caffe::GPU); 在Caffe中图层需要使用C++定义,而网络则使用Protobuf定义。Caffe是一个深度卷积神经网络的学习框架,使用Caffe可以比较方便地进行CNN模型的训练和测试,精于CV领域。 Caffe作为快速开发和工程应用是非常适合的。caffe官方提供了大量examples,照着examples写,caffe只要求会写prototxt就行,它的训练过程、梯度下降算法等等都实现封装好了,懂了prototxt的语法了,基本就能自己构造神经网络了。

Matlab中的atmoscoesa函数与atmosisa函数——不同海拔下的标准大气参数查询

时间秒杀一切 提交于 2020-01-24 08:21:20
Matlab中的atmoscoesa函数与atmosisa函数——不同海拔下的标准大气参数查询 航空航天领域的编程往往需要查询一定海拔高度下的温度、密度、压强等信息。这里提供两种matlab的内置查询函数来查询标准大气参数。其中前者拟合自1976年美国标准大气参数表,后者拟合自同年的国际大气参数表。 调用方式分别为: [T, a, P, Rou] = atmoscoesa(H); [T, a, P, Rou] = atmosisa(H); 式中H为海拔高度,单位为m;T为当地温度,单位为开尔文;a为当地音速,单位为m/s;P为当地压强,单位帕斯卡;Rou为当地密度,单位kg/m^3。 来源: CSDN 作者: 止裂钢 链接: https://blog.csdn.net/weixin_42144820/article/details/103905597

set_param()函数及功能定义

独自空忆成欢 提交于 2020-01-23 15:24:56
1、概述 设置系统和模块参数值。 2、语法说明 set_param(Object,ParameterName,Value,…ParameterNameN,ValueN) %将指定模型或模块对象上的参数设置为指定的值。 在同一个模型或模块上设置多个形参时,使用一个 set_param 命令和多个 ParameterName-Value 实参对组,而不是使用多个 set_param 命令。这种方法非常高效,因为使用一个调用只需计算一次参数。如果任何参数名称或值无效,则函数不会设置任何参数。 提示 : 如果您对同一个模块多次调用 set_param,则使用数值句柄指定模块比使用完整的模块路径更高效。使用 getSimulinkBlockHandle 获取模块句柄。 如果您使用 matlab -nodisplay 启动会话,则不能使用 set_param 运行仿真。-nodisplay 模式不支持使用 set_param 进行仿真。请改用 sim 命令。 在 MATLAB® 工作区中设置参数后,要查看模型中的变化,请更新图形。 set_param(model,‘SimulationCommand’,‘Update’) 3、示例 用set_param()函数设置Gain模块的参数。 set_param(‘Demo/Subsystem1/Gain1’,‘Gain’,‘2’,

【数据分析与科学计算可视化】numpy 和 matplotlib库总结

让人想犯罪 __ 提交于 2020-01-21 14:01:51
一、numpy库 numpy:科学计算包,支持N维数组运算、处理大型矩阵、成熟的广播函数库、矢量运算、线性代数、傅里叶变换、随机数生成,并可与C++/Fortran语言无缝结合。树莓派Python v3默认安装已经包含了numpy。 另: scipy:scipy依赖于numpy,提供了更多的数学工具,包括矩阵运算、线性方程组求解、积分、优化、插值、信号处理、图像处理、统计等等。 1.扩展库numpy简介 导入模板:(交换式) >>>import numpy as np 2.numpy库应用于数组 (1)简单数组的生成 >>>import numpy as np #把列表转化为数组 >>> np.array([0,1,2,3,4]) array([0, 1, 2, 3, 4])>>>np.array((0,1,2,3,4)) # 元组转化为数组array([0, 1, 2, 3, 4]) >>>np.array(range(5)) # 把range对象转换成数组 array([0, 1, 2, 3, 4]) >>>np.array([[1,2,3,4,],[5,6,7,8]]) #二维数组 array([[1, 2, 3, 4], [5, 6, 7, 8]]) >>>np.arange(8) # 类似于内置函数range() array([0,1,2,3,4,5,6,7]) >>

simulink之S函数

此生再无相见时 提交于 2020-01-21 01:02:51
s函数是system Function的简称,用它来写自己的simulink模块。(够简单吧,^_^,详细的概念介绍大伙看帮助吧)可以用matlab、C、C++、Fortran、Ada等语言来写,这儿我只介绍怎样用matlab语言来写吧(主要是它比较简单) 先讲讲为什么要用s函数,我觉得用s函数可以利用matlab的丰富资源,而不仅仅局限于simulink提供的模块,而用c或c++等语言写的s函数还可以实现对硬件端口的操作,还可以操作windows API等的 先介绍一下simulink的仿真过程(以便理解s函数),simulink的仿真有两个阶段:一个为初始化,这个阶段主要是设置一些参数,像系统的输入输出个数、状态初值、采样时间等;第二个阶段就是运行阶段,这个阶段里要进行计算输出、更新离散状态、计算连续状态等等,这个阶段需要反复运行,直至结束。 在matlab的workspace里打edit sfuntmpl(这是matlab自己提供的s函数模板),我们看它来具体分析s函数的结构。 它的第一行是这样的:function [sys,x0,str,ts]=sfuntmpl(t,x,u,flag) 先讲输入与输出变量的含义:t是采样时间,x是状态变量,u是输入(是做成simulink模块的输入),flag是仿真过程中的状态标志(以它来判断当前是初始化还是运行等)