精华内容
下载资源
问答
  • matlab中函数fscanf文件读取方面的实例如下: 从文件中有格式地读数据fscanf语法1:[a,count]=fscanf(fid,format,size)根据指定的格式从fid 文件按照格式format读出数据并按size的格式放入内存。a:读出的数据放...

    一.fscanf函数

    matlab中函数fscanf在文件读取方面的实例如下:

    从文件中有格式地读数据 fscanf

    语法1:[a,count]=fscanf(fid,format,size)

    根据指定的格式从fid 文件按照格式format读出数据并按size的格式放入内存。

    a :读出的数据放入内存的变量名

    count :返回值。0:失败、n>0:成功,n是读出数据个数。

    fid :文件号

    size :a的数据的维度

    N : 列向量 


    inf : 读出文件全部数据

    [M,N] : 读出数据以M*N的格式放入变量名a内

    format :读出数据的格式

    format是字符形式,与C语言基本相同。字符形式中有“%”与字符集(d,i,o,u,x,e,f,g,s,c,…)搭配构成。

    如:  %s:单字符读

         %c:读space字符

    例:s=fscanf(fid,'%s') 返回一个字符。

        a=fscanf(fid,']') 返回一个五位十进制整数。

     

    size是一个[m n]的向量,m为行,n为列(注意,这里读取的顺序是按行读取,存储的时候是按列存储),若n取inf表示读到文件末尾。

    fid为fopen打开文件的返回值,

    format是格式化参数(像printf、scanf)。

    举个小例子:

    内容:     13,1,3.4

            3,2.1,23

             1,12,2

            4,5.4,6

    现在为了读取001中的数据存在一个数组里,可以用如下方法

    fid=fopen('001.txt');

    data=fscanf(fid,'%f,%f,%f',[3,inf]) ;%这里得用单引号

    fclose(fid);

    这时data中的数据如下:

    13    3     1     4

    1     2.1   12    5.4

    3.4   23    2     6

     

    二.isempty函数

    matlab中 ~表示逻辑运算符“非”,也就是取反;~isempty(msg) 表示如果msg是空元素(空元素表示未赋值的元素,0并不是空元素),结果为0(false);否则结果为1(true)。

    详细解析:

    isempty(msg)    判断msg是否为空,如果为空,结果为1,否则为0.

    ~isempty(msg)    表示将 isempty(msg) 的结果取反,也就是说如果msg为空,结果为0,否则为1.

    实例演示:

    1、验证已经赋值的0矩阵

    在matlab命令窗口输入如下代码,运行结果如下:

    2、验证未赋值的变量

     

    三.reshape函数

    reshape把指定的矩阵改变形状,但是元素个数不变,

    例如,行向量:
    a = [1 2 3 4 5 6]

    执行下面语句把它变成3行2列:
    b = reshape(a,3,2)

    执行结果:
    b =
    1 4
    2 5
    3 6

    若a=[1 2 3
    4 5 6
    7 8 9]

    使用reshpe后想得到b=[1 2 3 4 5 6 7 8 9]

    只需要将a转置一下就可以了:
    b=reshape(a',1,9)

     

    三.clc,clear,clf等

    clear是清变量,

    clc只清屏,

    clf清除图形窗口上的旧图形,

    hold on是为了显示多幅图像时,防止新的窗口替代旧的窗口

     

    四.Matlab实现批量处理图像的两种方法

    基本上有两个方法:一个是将你的图像统一进行一次重命名如:1.jpg,2.jpg等,然后利用for循环依次进行处理即可,如下面的语句:假设你的图像共有20副:
    str='D:\做差\好的图像\'; %我的图像放在D盘,做差文件夹下,好的图像文件夹下
    for i=1:20
        I=imread([str,num2str(i),'.bmp']); %依次读取每一幅图像
    %在此处进行你的图像处理即可
    end
    方法二:
    将图像统一方法一个文件夹下,不需要统一进行重命名了,利用uigetdir函数得到你所处理图像的路径,然后对此路径下的所有图像进行处理,举例如下:我只处理bmp文件
    srcDir=uigetdir('Choose source directory.'); %获得选择的文件夹
    cd(srcDir);
    allnames=struct2cell(dir('*.bmp')); %只处理8位的bmp文件
    [k,len]=size(allnames); %获得bmp文件的个数
    for ii=1:len
    %逐次取出文件
    name=allnames{1,ii};
      I=imread(name); %读取文件
    %然后在此处添加你的图像处理程序即可
    end

    success…

     

    四.shading interp;

    shading 是用来处理色彩效果的,分以下三种:
    no shading 一般的默认模式 即shading faceted
    shading flat 在faceted的基础上去掉图上的网格线
    shading interp 在flat的基础上进行色彩的插值处理,使色彩平滑过渡

     

    在为使用shading interp时,生成的图像是黑漆漆的一团,在使用后,则变得很清晰明了。

    网上查到了许多相关的解释:

    shading interp 会区分每个线形区域的颜色,并且插入与其相近的颜色

    shading interp  在网格片内采用颜色插值处理,得出表面图显得最光滑!
    shading interp 对图形进行阴影处理!

     

     

    五. ismember函数——检测集合中的元素

    ismember函数用来检测元素是否在集合中。

    1.tf=ismember(a,b)

    返回与a大小相同的逻辑数组,如果a中的元素属于b,那么A中的相应位置返回1(true),否则返回0(false)。

    例:a=[1 2 3 4 5];

        b=[1 3 5];

        c1=ismember(a,b);  %判断a中的元素有没有在b中出现

        c2=ismember(b,a);  %判断b中的元素有没有在a中出现

    那么 c1= 1     0     1     0     1

         c2= 1     1     1

     

    2. [tf, loc] = ismember(a,b)

    tf返回一个和a同样大小的矩阵,a的元素在b中出现,tf上的相应位置元素值为1,没有出现则为0;loc也是返回一个和a同样大小的矩阵,其相应位置的值为a相应位置的元素在b中出现的最后标号,注意是最后的标号,若某元素在b中出现多次,则记录的是最后一次出现的标号,若该位置上的a的元素没有在b中出现,则返回0.

    例: a=[1 2 3 4 5];

         b=[1 3 5 8 3 5 4 7 9 4];

         [tf1, loc1] = ismember(a,b);

         [tf2, loc2] = ismember(b,a);

    结果

         tf1= 1     0     1     1     1

         loc1=1     0     5    10     6

         tf2=1     1     1     0     1     1     1     0     0     1

         loc2=1     3     5     0     3     5     4     0     0     4

     

    3.k=ismember(a,b,'rows')

    a与b是列数相同的矩阵,如果a中的某一行与b中某一行元素相同,返回1,否则返回0。

    注:k=ismember(a,b,'rows')中2012版本的Matlab是‘rows’,而以前版本的是‘row’

    例 a=[1 2 3;
          2 4 6];

       b=[1 2 3;
          2 4 7;
          2 4 6;
          1 3 6];

    k1=ismember(a,b,'rows');

    k2=ismember(b,a,'rows');

    结果 k1 =1
             1

       

        k2=1
           0
           1
           0

    转载于:https://www.cnblogs.com/haoyul/p/6910069.html

    展开全文
  • MATLAB常见函数

    2020-04-08 20:01:45
    abs函数:字符转换成ASCll码 all函数:若想两种的所有元素非...exist函数:检查变量工作空间是否存在,若存在则结果为1,否则为0 find函数:找出向量或矩阵元素的位置 int2str函数:将整数转换成字符串 isempt...

    abs函数:字符转换成ASCll码

    all函数:若想两种的所有元素非零,则结果为1

    any函数:向量中任何一个元素非零,都给出结果1

    char函数:ASCLL码转换成字符

    eval函数:把字符串内容作为对应的MATLAB语句来执行

    exist函数:检查变量在工作空间中是否存在,若存在则结果为1,否则为0

    find函数:找出向量或矩阵中元素的位置

    int2str函数:将整数转换成字符串

    isempty函数:判断是否为全局变量用以下函数代替:~isempty(whos(‘global’,‘variable’))

    isfinite函数:元素值是否有限

    isinf函数:是否是正负无穷大

    isnan函数:是否是不定数例如0/0

    issparse函数:是否是稀疏矩阵

    isstr函数:是否是字符串

    mat2str函数:将矩阵转换成字符串

    num2str函数:将数值转换成字符串

    setstr函数:将ASCLL码转换成字符

    strcat函数:用于字符串连接

    str2num函数:将字符串转换成数值

    strcmp函数:用于字符串的比较

    struct函数:建立或转换成结构矩阵

    getfield函数:获取结构成员的内容

    rmfield函数:删除结构成员

    isstruct函数;是结构时,值为真

    fieldnames函数:获取结构成员名

    setfield函数:设定结构成员的内容

    isfield函数:成员在结构中时,值为真

    xor函数:若矩阵对应元素同为0或非0,则结果矩阵相应位置元素取0,否则取1

    celldisp函数:显示单元矩阵内容

    num2cell函数:把数字矩阵转换成单元矩阵

    cell2struct函数:把单元矩阵转换成结构矩阵

    iscell函数:是单元矩阵时,值为真

    cellplot函数:显示单元矩阵的图形描述

    deal函数:把输入分配给输出

    struct2cell把结构矩阵转换为单元矩阵

    展开全文
  • 自动控制常见MA TLAB 函数的应用1、 在matlab 采用roots 函数求解多项式的根,采用conv 函数实现多项式的积,相互连接的模块的模型求解也相当简单(1)、串联连接命令G=G1*G2(2)、并联连接命令G=G 1±G2(3)、反馈...

    自动控制常见MA TLAB 函数的应用

    1、 在matlab 中采用roots 函数求解多项式的根,采用conv 函数实

    现多项式的积,相互连接的模块的模型求解也相当简单(1)、串联连接命令G=G1*G2(2)、并联连接命令G=G 1±G2(3)、反馈连接命令G=feedback (G1,G2,Sign )(sign 用来表示系统是正反馈或负反馈,sign=-1为负反馈) 例如:① 程序如下: >> p=[1 3 0 4]; >> roots(p) ans =

    -3.3553 0.1777 + 1.0773i 0.1777 - 1.0773i ②、用matlab 实现: 程序如下: >> p=[3 2 1];q=[1 4]; >> n=conv(p,q) n =

    3 1

    4 9 4 ③、一个传递函数模型, 可以由下面的命令输入:

    32

    ()34

    p s s s =++2

    ()(321)(4)

    n s s s s =+++3

    2

    5

    ()345

    s G s s

    s

    s +=+++

    展开全文
  • Matlab中find函数详解

    千次阅读 2020-03-14 17:54:01
    在Matlab中通过“help find”指令可以看到find函数的作用是 “Find indices and values of nonzero elements”,即查找非零元素的索引(可以理解为位置)和值。常见用法如下: 一、假设数组a=[1 0 3 0 0 8 8 0] 1、x=...

    Matlab中find函数详解

    在Matlab中通过“help find”指令可以看到find函数的作用是
    “Find indices and values of nonzero elements”,即查找非零元素的索引(可以理解为位置)和值。常见用法如下:
    一、假设数组a=[1 0 3 0 0 8 8 0]
    1、x=find(a)
    其实x=find(a)=find(a!=0),这样便一目了然了吧,即查找数组a中不为0的元素,可以知道x的值为1、3、6、7
    特殊一点的是,如果x=find(~a),那么,x= find(~a)= find(~a!=0)= find(a等于0)(“等于”应该是两个等于号但打不出来就这样看吧,下同),即查找数组a中的0元素,可以知道x的值为2、4、5、8
    2、x=find(a等于8)
    这个形式其实更简单了,即查找数组a中的元素8,可以知道x的值为6 、7。x=find(a等于8)中的“==”也可以换为“>”">="等等,意思一样
    二、假设矩阵a=[1 0 3; 4 5 6; 0 0 8]
    x=find(a)
    此时find返回的结果是线性索引的列向量,即从第一列开始计数,按照1-4-0-0-5-0-3-6-8的顺序,“1”是第一个数,“4”是第二个数,……,“8”是第九个数,故可以知道x的值为1、2、5、7、8、9
    其他形式同理
    可以看一下下面的这个函数,如果理解了就很棒了
    function [y,n]=sigadd(x1,n1,x2,n2)
    n=min(min(n1),min(n2)):max(max(n1),max(n2));
    y1=zeros(1,length(n));y2=y1;
    y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;
    y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;
    y=y1+y2;
    其中,x1是第一个时间序列信号,n1可以理解为对应的时间,这个程序是数字信号处理中实现两个信号相加的函数,对于y1(find((n>=min(n1))&(n<=max(n1))==1))=x1这一语句,其具体含义放到评论中啦!

    展开全文
  • matlab 常见函数用法

    2014-04-10 20:57:30
    mat2gray 函数功能: 实现图像矩阵的...在matlab命令窗口输入: doc mat2gray或者help mat2gray即可获得该函数的帮助信息, 键入type mat2gray可以查看函数的实现代码。 调用格式: I = mat2gray(A, [amin
  • matlab中sum函数的使用

    2021-04-20 16:47:15
    特别是做矩阵分解方法,所以积累一点matlab常见函数的用法,提高阅读代码的速度是非常有必要的。   现在介绍matlab中常用的sum函数:sum函数有两种用法 1)向量的相加: b=sum(a); a表示行向量,b表示行向量求和的...
  • matlab中randn函数用法_常见问题解析matlab中的randn函数作用是产生正态分布的随机数或矩阵,randn函数的语法是“Y = randn(m,n) ”或 “Y = randn([m n])”,结果是返回一个“m*n”的随机项矩阵。 matlab syms什么...
  • 一.JSX简介const element = Hello, world!h1>;JSX 可以很好地描述 UI 应该呈现出它应有交互...Babel 会把 JSX 转译成一个名为 React.createElement() 函数调用。以下两种示例代码完全等效:const element = ( &l...
  • 一:什么是激活函数在神经网络,每个节点的输入是上一层节点输出值的线性组合,该节点的输出值是该线性组合进行非线性变换后的值。对线性组合进行非线性变换的函数就是本文要讨论的激活函数。如图1-1所示,就是一...
  • matlab 一些常见函数1

    千次阅读 2016-10-21 22:52:01
    Matlab标准内置数组 Zeros(m,n) 生成一个m * n的0数组 Ones(m,n)生成一个m * n的1数组 True (m,n)生成一个m * n的逻辑1数组 False (m*n) 生成一个M * N的逻辑0数组 Eye(n):返回一个n * n的单位矩阵 Magic(m)...
  • 函数句柄也是MATLAB中的一种常见的数据类型,它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++),或者函数引用(Perl)。它的作用是将一个函数封装成一个变量,使其能够像其它变量一样...
  • disp 输出内容函数; cd 改变当前工作目录;...randperm(m,n) 随机1到m选择n个数,然后乱序输出;若只有m,没有n,则将1到m个数乱序输出; [~,b]=size(c) "~"表示忽视此参数; 在中括号[;],分号的...
  • matlab中常见的统计函数的使用与范例介绍 * 研究语音的时候,由于对语音进行特征提取时,采用分帧的形式进行处理。比如说,对于语音信号进行分帧(m帧),并提取n维的MFCC特征,一般得到的特征数量为(n*m),...
  • 函数句柄也是MATLAB中的一种常见的数据类型,它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++),或者函数引用(Perl)。它的作用是将一个函数封装成一个变量,使其能够像其它变量一样...
  • 数字信号处理通常是取其有限的时间片段进行分析,而不是对无限长的信号进行...FFT分析为了减少或消除频谱能量泄漏及栅栏效应,可采用不同的截取函数对信号进行截短,截短函数称为窗函数,简称为窗。 泄漏与...
  • MATLAB算数运算符及常见函数

    千次阅读 2016-04-20 19:10:23
    1.标量的运算:加减乘除与数学一样。...(1):魔方矩阵的概念:魔方矩阵是由n*n的整数矩阵构成,矩阵的数值是从1~n^2,,有相同的行数和列数,并每行每列、对角线上的和都相等。 (2):表示 a=magic(n)
  • MATLAB中实现argmax函数

    千次阅读 2020-02-08 21:44:05
    argmax函数在一般图像分割任务中十分常见,在Numpy中直接调用np.argmax函数即可,在MATLAB中其实也有,只不过比较隐蔽,其函数原型为: [M,I] = MAX(X,[],DIM) 用户可以指定维度(DIM),输出I即为相应的索引。 ...
  • 1,rand函数:   意义:产生一个(0,1)之间的伪随机数 2,randi函数:  意义:生成均匀分布的伪随机整数; 语法:randi(imax);%生成0-imax之间的随机整数;   randi([imin,imax],m,n)%生成imin-imax之间的...
  • matlab中的不等于命令为“~=” MatLab 计算开根号 对X要开根号 方法一:”通过sqrt函数表示根号,在命令行窗口中输入“sqrt(X)”,按回车键可以看到得到相同的结果 ...反三角函数在matlab中怎样定义 matla...
  • 通过绘制数学分析几种常见的二维和三维函数图象,例如笛卡尔叶形线,隐函数、螺旋面、椭圆抛物面、马鞍面等,从而了解和熟悉MATLAB的图形操作、命令函数和绘图语句的特点和功能。利用MATLAB强大的绘图功能,能够使...
  • 不能用MATLAB去调用Python里的包,所以说网络的底层都需要自己去实现,比如一维卷积层,一维池化层以及上采样层,还要加载训练好的网络参数等等,实现过程遇到的一些问题,拿出来写一写。 (看完有问题的小伙伴...
  • matlab中的插值函数

    千次阅读 2018-12-27 14:10:52
    1、interp1(X,Y,Xi)一维插值 2、interp2(X,Y,Z,Xi,Yi)二维插值(这两种插值函数要求X,Y为单调向量或矩阵) ...其中1和2大部分书籍和资料中都常见,但后两种介绍的比较少,但很实用,当采样数据随机时,使用3...
  • 2. eps函数 这个函数比较有意思,默认eps(1),指的是距离1的最大双精度数,我们知道,数字编程语言,其实都是离散的,那1和比它大一点的数,matlab能够识别两个数的不同,但是对于数学而言,这两个数之间也是...
  • matlabGUI的函数举例(初学者的营养品).txt偶尔要回头看看,否则永远都追寻,而不知道自己失去了什么。男人掏钱是恋人关系,女人掏钱是夫妻关系,男女抢着掏钱是朋友关系。男人爱用眼睛看女人,最易受美貌迷惑;...
  • 网络叹号怎么解决_常见问题解析解决网络叹号的方法:首先使用静态IP地址的情况下,打开“网络和共享中心-本地连接”...linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。函数简介用法lins...
  • Matlab使用uinque函数重排标号 ...此方法聚类算法过程比较常见。也可配合gscatter函数进行分类。 二、参考资料 官方指导:官方unique函数 三、代码 A = [3;1;3;2;4;1;3;2;1;1]; B = zeros(lengt
  • (2)泊松噪声(Poisson noise):常亮度非常小时出现,或高倍电子放大线路出现,噪声信号服从Poisson分布。 (3)颗粒噪声:白噪声的一种,图像显示明显的颗粒,最常见的便是椒盐噪声(s
  • 本节主要介绍彩色图像处理的基本知识及常见函数,随着信息技术和人工智能的发展,图像信息,彩色图像所占据的比例越来越高,而且由于彩色图像处理这部分比较贴近我们的生活,因而有着广泛的应用前景。...
  • 1。Error using svmtrain (line 233) Y must be a vector or a character array. 首先,需要看你的电脑是64位版本的还是32位版本的。请这里下载,可以直接使用,32位64位都行。...未定义函数或变量 ‘boiler_proces
  • 1 MATLAB 作图应用的若干 问题 2 1. 画图函数句柄的使用 ? 每个画图函数含有的输入参数是很多的 然而我们函数的帮助 (help) 的时候所 能得到的只是一些基本的信息我们利用 dd = function_name(x,y,z, ; dt=...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 317
精华内容 126
关键字:

在matlab中常见函数

matlab 订阅