精华内容
下载资源
问答
  • 图像锐化matlab算法

    2021-04-22 10:11:56
    《图像锐化matlab算法》由会员分享,可在线阅读,更多相关《图像锐化matlab算法(2页珍藏版)》请在读根文库上搜索。1、%常用图像锐化算法clcclearclose allima=imread(132.jpg);%读入图像ima=rgb2gray(ima);%转为灰度...

    《图像锐化matlab算法》由会员分享,可在线阅读,更多相关《图像锐化matlab算法(2页珍藏版)》请在读根文库上搜索。

    1、%常用图像锐化算法clcclearclose allima=imread(132.jpg);%读入图像ima=rgb2gray(ima);%转为灰度图像 ima=double(ima);bw1 = edge(ima,sobel); %sobel算子锐化figure;subplot(121);imshow(uint8(ima);title(原始图像);%图像显示subplot(122);imshow(bw1);title(sobel算子锐化);bw2 = edge(ima,prewitt);%prewitt算子锐化figure;subplot(121);imshow(uint8(ima);tit。

    2、le(原始图像);subplot(122);imshow(bw2);title(prewitt算子锐化);bw3 = edge(ima,roberts);%roberts算子锐化figure;subplot(121);imshow(uint8(ima);title(原始图像);subplot(122);imshow(bw3);title(roberts算子锐化);bw4 = edge(ima,log);%log算子锐化figure;subplot(121);imshow(uint8(ima);title(原始图像);subplot(122);imshow(bw4);title(log算子锐化)。

    3、;bw5 = edge(ima,canny); %nny算子锐化figure;subplot(121);imshow(uint8(ima);title(原始图像);subplot(122);imshow(bw5);title(canny算子锐化);h1=fspecial(gaussian,9 9);%gaussian低通滤波器锐化bw6 = imfilter(ima,h1);figure;subplot(121);imshow(uint8(ima);title(原始图像);subplot(122);imshow(uint8(bw6);title(gaussian低通滤波器);h2=fspecial(laplacian);%laplacian算子锐化bw7 = imfilter(ima,h1);figure;subplot(121);imshow(uint8(ima);title(原始图像);subplot(122);imshow(uint8(bw7);title(laplacian算子锐化);。

    展开全文
  • 使用Java调用Matlab算法程序的方法有多种,在这里介绍一种在实际平台开发中较为方便做法:将MATLAB脚本程序打jar包,再使用Java程序调用。 一、处理MATLAB脚本 1.处理算法程序脚本,将其封装为函数形式 SpringBoot...

    使用Java调用Matlab算法程序的方法有多种,在这里介绍一种在实际平台开发中较为方便做法:将MATLAB脚本程序打jar包,再使用Java程序调用。

    一、处理MATLAB脚本

    1.处理算法程序脚本,将其封装为函数形式

    SpringBoot项目开发人员不一定也同时负责MATLAB算法程序的编写,而是使用已有的MATLAB算法程序。因此,在拿到MATLAB算法程序后,大概率应该要对算法程序脚本进行处理,将其写成方法体、也就是函数的形式。

    首次拿到的MATLAB算法程序,是以程序流的形式编写的,运算后工作区中可以看到所有变量的值,包括输入值、中间变量、结果值。如下图所示:
    在这里插入图片描述
    拿到以上算法程序后,首先检验其是否能正常运行,然后根据需要将输入参数和输出结果值的变量名找到,使用function end将算法程序包裹起来,形成方法体(函数)程序。如下图所示。
    在这里插入图片描述在这里插入图片描述

    其中,function后方括号中的参数为所需的结果值,等号后的“danji”为自定义的方法名,方法名后小括号中内容为方法所需的输入参数。
    注意:如果程序开头有clear,clc命令,需要在写成方法体后将其注释或删除,避免该命令运行后将传入的输入参数清空。
    在改写方法体时,可以首先不设置输入参数,而是在源程序相应位置写成固定的参数值,以便检验改写为方法体后,程序是否能正常运行。
    改写成方法体后,运行程序,工作区中不再会出现中间变量,输入参数的内容。成功运行后,可以加上输入参数。

    2.将方法体算法程序打成jar包

    这一操作相对简单,只需要注意以下几个细节即可:

    • 版本匹配与兼容的要求:经过查询资料和实际使用测试,电脑环境是JDK1.8,则对应MATLAB2017b版本,如版本不对应,则打包时会报错。
      查看本地计算机中MATLAB对应的JDK版本方式如下:
      在命令行中输入
    version -java
    

    在这里插入图片描述
    这里显示MATLAB内置的JDK版本为1.8.0,只需要大版本一致即可,即JDK1.8。理论上也可以修改内置的JDK,有兴趣的同学可以自行探索具体操作,这里不展开。

    • 打包过程的注意事项:如果这编写算法程序的过程中引用了MATLAB库以及其他文件,则需要在打包工程中将其加入。打包过程如下:
      在这里插入图片描述
      APP–>Library–>Java Package–>选择需要打包的.m文件–>根据需要修改类名–>在下方File required for your library to run 中添加第三方库和程序运行所需的其他文件–>点击右上角Package按钮
      等待打包,如有报错,可以自行百度查找原因。
      完成打包后,会在选定路径下,生成一个方法同名的文件夹,如下图所示:
      在这里插入图片描述
      打开for_redistribution_files_only文件夹,即可看到完成打包的jar包。

    二、在SpringBoot项目中引入MATLAB所需的jar环境包和算法程序包

    在SpringBoot项目中引入MATLAB的jar包有两种方法,一种是将jar包放入本地maven仓库中,然后在pom配置文件中引入;另一种是在springBoot项目中的resource目录下新建一个lib文件夹,右键将其Add as library,项目便可以识别到里面的jar包。
    考虑到在开发过程中,需要不断地调试程序,修改jar包,因此,选择建立lib文件目录的形式,将jar包添加进去。如下图所示。
    在这里插入图片描述
    注意,除了算法程序的jar包,还需要引入javabuilder,否则调用算法程序包时会报错,抛异常。因为是matlab打包的jar包,需要依赖matlab中的相关函数,所以要将javabuilder.jar包带上这个包需要到MATLAB软件安装路径下找到,然后复制到lib目录下。参考路径如下:

    D:\Program_software\MATLAB_R2017b\toolbox\javabuilder\jar\javabuilder.jar
    

    三、在Java中调用MATLAB算法,传入参数,接收结果

    完成打包和导入后,可以进行下一步的调用操作。
    java工程中调用matlab生成的函数时,输入类型必须是matlab中具有的类型
    如:uint8、uint16、double、int16、single。这里以字符串举例,其他类型参数对应关系可自行查阅MATLAB相关技术文档。

    实例说明:
    输入参数为多个字符串,输出参数为一个矩阵和多个数值。
    下面贴出写在测试类中的代码:

    import com.mathworks.toolbox.javabuilder.MWException;
    import com.mathworks.toolbox.javabuilder.MWNumericArray;
    @Test
        public void test4(){
            //初始化matlab算法的类,MatlabDuojiyuce 打包时自己命名的类名
            MatlabDuojiyuce matlabDuojiyuce = null;
            //获取数据文件路径作为输入参数
            String file1="D:/studywork/File/file1.xlsx";
            String file2="D:/studywork/File/file2.xlsx";
            String file3="D:/studywork/File/file3.xlsx";
            String file4="D:/studywork/File/file4.xlsx";
    
            //调用matlab算法开始计算
            try {
                matlabDuojiyuce = new MatlabDuojiyuce();
                返回值为一个Object类型数组,按照预先写入的顺序可以取到结果
                Object[] result = matlabDuojiyuce.duoji(5,file1,file2,file3);
                // System.out.println("输入计算结果:");
                System.out.println("第一个输出结果:"+result[0].toString());
                System.out.println("第二个输出结果:"+result[1].toString());
                System.out.println("第三个输出结果:"+result[2].toString());
                System.out.println("第四个输出结果:"+result[3].toString());
                System.out.println("第五个输出结果:"+result[4].toString());
    
                //第一个输出值为数学矩阵,对其进行处理转换为java的数组
                MWNumericArray data = (MWNumericArray) result[0];
                System.out.println("矩阵转换结果data:"+data);
                int[][] resultData = (int[][]) data.toIntArray();
                System.out.println("原始结果:"+resultData);
                //这样输出的是字节码,遍历或取到单个,例如第一个可以取出来正常数值
                System.out.println("矩阵转换为java数组结果第一个数:"+resultData[0][0]);
               //然后根据需要自行对结果值进行处理即可。
            } catch (MWException e) {
                e.printStackTrace();
            }
    
        }
    
    
    展开全文
  • 【实例简介】Inverse Synthetic Aperture Radar Imaging With MATLAB Algorithms(逆合成孔径成像MATLAB算法)配书源代码,可用于学习和理解ISAR的基本算法和实现过程。【实例截图】【核心代码】MatlabFiles└── ...

    【实例简介】

    Inverse Synthetic Aperture Radar Imaging With MATLAB Algorithms(逆合成孔径成像MATLAB算法)配书源代码,可用于学习和理解ISAR的基本算法和实现过程。

    【实例截图】

    【核心代码】

    MatlabFiles

    └── MatlabFiles

    ├── Appendix

    │   ├── cevir2.m

    │   ├── matplot.m

    │   ├── matplot2.m

    │   ├── shft.m

    │   └── stft.m

    ├── Chapter1

    │   ├── Figure1_1.m

    │   ├── Figure1_11.m

    │   ├── Figure1_2.m

    │   ├── Figure1_3.m

    │   ├── Figure1_5.m

    │   ├── Figure1_8.m

    │   ├── prince.wav

    │   └── tot30.mat

    ├── Chapter2

    │   ├── Figure2_11.m

    │   ├── Figure2_15.m

    │   ├── Figure2_16.m

    │   ├── Figure2_17.m

    │   ├── Figure2_18.m

    │   ├── Figure2_19and20.m

    │   └── Figure2_9.m

    ├── Chapter3

    │   ├── Figure3_10.m

    │   ├── Figure3_11.m

    │   ├── Figure3_14.m

    │   ├── Figure3_16.m

    │   ├── Figure3_8.m

    │   └── Figure3_9.m

    ├── Chapter4

    │   ├── E_field.mat

    │   ├── Es_range.mat

    │   ├── Es_xrange.mat

    │   ├── Esairbus.mat

    │   ├── Escorner.mat

    │   ├── Esplanorteta60.mat

    │   ├── Figure4_14.m

    │   ├── Figure4_15.m

    │   ├── Figure4_18.m

    │   ├── Figure4_19.m

    │   ├── Figure4_20.m

    │   ├── Figure4_21and22.m

    │   ├── Figure4_23and24.m

    │   ├── Figure4_26thru4_28.m

    │   ├── Figure4_31and4_32.m

    │   ├── Figure4_6.m

    │   ├── Figure4_8.m

    │   ├── PLANORPHI45_Es.mat

    │   ├── airbusteta80_2_xyout.mat

    │   ├── fighterSC.mat

    │   ├── planorphi45_2_xyout.mat

    │   ├── planorteta60_2_xyout.mat

    │   ├── planorteta60xzout.mat

    │   └── planorteta60yzout.mat

    ├── Chapter5

    │   ├── Esairbus.mat

    │   ├── Esplanorteta60.mat

    │   ├── Figure5_10ab.m

    │   ├── Figure5_10cd.m

    │   ├── Figure5_10ef.m

    │   ├── Figure5_11.m

    │   ├── Figure5_12thru18.m

    │   ├── Figure5_19ab.m

    │   ├── Figure5_19cd.m

    │   ├── Figure5_19ef.m

    │   ├── Figure5_4.m

    │   ├── Figure5_9.m

    │   ├── airbusteta80_2_xyout.mat

    │   ├── fighterSC.mat

    │   ├── planorteta60_2_xyout.mat

    │   └── ucak.mat

    ├── Chapter6

    │   ├── CoutUssFletcher.mat

    │   ├── Fighter.mat

    │   ├── Figure6_14thru19.m

    │   └── Figure6_21thru23.m

    ├── Chapter7

    │   ├── Es60.mat

    │   ├── Figures7_2thru7_8.m

    │   ├── Figures7_9thru7_13.m

    │   ├── MP.mat

    │   ├── SC.mat

    │   └── planorteta60_2_xyout.mat

    └── Chapter8

    ├── Fighter.mat

    ├── Fighter2.mat

    ├── Fighter3.mat

    ├── Figure8_14.m

    ├── Figure8_15.m

    ├── Figure8_16thru8_22.m

    ├── Figure8_2thru8_6.m

    ├── Figure8_7thru8_12.m

    └── scat_field.mat

    10 directories, 85 files

    展开全文
  • 提供了模式识别特征选择和特征提取详尽的matlab算法代码实现。6 特征选择6.1 问题对“threethreelarge.m”数据,采用任意一种特征选择算法,选择2个特征6.2 思路采用简单特征选择法(simple feature selection ...

    提供了模式识别特征选择和特征提取详尽的matlab算法代码实现。

    6 特征选择

    6.1 问题

    对“threethreelarge.m”数据,采用任意一种特征选择算法,选择2个特征

    6.2 思路

    采用简单特征选择法(simple feature selection approach),首先计算每一个特征的分类能力值,再选择出其中最大分类能力的l个特征。

    6.3 结果

    eigs = 8.9234 0.0000 0.0767

    SelectedFeature = 1 3

    也就是说,选取x和z坐标作为特征。

    6.4 代码

    % 特征选择代码,见FSthrthrlrg.m文件

    m1=[0,0,0]; m2=[0,0,0]; m3=[0,0,0]; m=[0,0,0];

    for i=1:200

    m1(1)=m1(1)+(x1(i,1)-m1(1))/i;

    m1(2)=m1(2)+(x1(i,2)-m1(2))/i;

    m1(3)=m1(3)+(x1(i,3)-m1(3))/i;

    end;

    for i=1:190

    m2(1)=m2(1)+(x2(i,1)-m2(1))/i;

    m2(2)=m2(2)+(x2(i,2)-m2(2))/i;

    m2(3)=m2(3)+(x2(i,3)-m2(3))/i;

    end;

    for i=1:210

    m3(1)=m3(1)+(x3(i,1)-m3(1))/i;

    m3(2)=m3(2)+(x3(i,2)-m3(2))/i;

    m3(3)=m3(3)+(x3(i,3)-m3(3))/i;

    end;

    m(1)=(m1(1)+m2(1)+m3(1))/3;

    m(2)=(m1(2)+m2(2)+m3(2))/3;

    m(3)=(m1(3)+m2(3)+m3(3))/3;

    sw1=zeros(3,3); sw2=zeros(3,3); sw3=zeros(3,3); sw=zeros(3,3); sb=zeros(3,3);

    for i=1:200

    sw1=sw1+([x1(i,1),x1(i,2),x1(i,3)]-m1)'*([x1(i,1),x1(i,2),x1(i,3)]-m1);

    end;

    for i=1:190

    sw2=sw2+([x2(i,1),x2(i,2),x2(i,3)]-m2)'*([x2(i,1),x2(i,2),x2(i,3)]-m2);

    end;

    for i=1:210

    sw3=sw3+([x3(i,1),x3(i,2),x3(i,3)]-m3)'*([x3(i,1),x3(i,2),x3(i,3)]-m3);

    end;

    N1=200; N2=190; N3=210; N=N1+N2+N3;

    展开全文
  • 博弈论的Matlab算法

    2021-04-18 17:27:01
    博弈论的Matlab算法包发布时间:来源:人大经济论坛《博弈论》的诞生是个传说,这个传说造就了多位诺贝尔经济学奖。现在它的发展还远远未了,每一次进步都会让全世界的数学家、经济家激动不已。提供博弈论的Matlab...
  • 【源码】迭代法求根的matlab算法【源码】迭代法求根的matlab算法本篇是在课程学习中自己编程实现的迭代法计算非线性方程或者超越方程近似根的算法,写一下,后边便于复习和期末课程设计引用。% 迭代法求根的matlab...
  • 遗传算法1、案例背景遗传算法(Genetic Algorithm,GA)是一种进化算法,其基本原理是仿效生物界中的“物竞天择、适者生存”的演化法则。遗传算法的做法是把问题参数编码为染色体,再利用迭代的方式进行选择、交叉以及...
  • 本文的python源代码来自: ...纯跟踪算法的原理,详见https://blog.csdn.net/gophae/article/details/100012763 原文链接:https://blog.csdn.net/gophae/article/details/102761138 matlab源码如下: k
  • ICA快速算法原理和matlab算法程序实验2 :FastICA 算法一.算法原理:独立分量分析 (ICA)的过程如下图所示:在信源s(t ) 中各分量相互独立的假设下,由观察 通过结婚系统 把他们分离开来,使输出 逼近 。x(t) B y(t)...
  • [摘 要]“最后一公里”的配送问题属于物流配送车辆路径优化问题。针对物流配送线路选取过程中所缺乏的可嵌入系统的简易优化算法的缺陷,提出了基于逐点调整法、双点交换法的综合算法...Matlab[DOI]10.13939/ki.zgsc....
  • 求基于小波变换的图像融合Matlab算法时间:2020-1-4求基于小波变换的图像融合Matlab算法需要从C盘调取图像1.jpg和2.jpg进行基于小波变换的图像融合,然后输出融合后的图像相关问题:匿名网友:clear % 清理工作空间load...
  • matlab混沌算法

    2021-04-23 07:52:20
    混沌系统的耦合同步200820401010 徐培摘要:主要讨论在参数失配的情况下同步系统的耦合系统的稳定性,在同步系统中,我们用一个混沌系统来作为驱动,用一个混沌系统作为被驱动,混沌系统主要是用微分方程组来表示,...
  • 【实例简介】本来想自己改一些关于优化算法测试函数的MATLAB代码,但是后来发现网上是有这个代码的,所以来分享一下。【实例截图】【核心代码】测试函数文件└── 测试函数文件├── benchmar│ ├── EF8F2_func...
  • 5个求解车辆路径问题(VRP)的MATLAB算法matlab2020-10-22下载地址https://www.codedown123.com/45041.html5个求解车辆路径问题(VRP)的MATLAB算法源程序和相应数据(数据也在m文件里),包括三种遗传算法,SA算法和禁忌...
  • 编程算法大全Matlab 和MathemaTIca、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。Matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,...
  • 算法导论》第一章《算法在计算中的作用》有一道题目,如下:1.2-2:假设我们正比较插入排序与归并排序在相同机器上实现。对规模为n的输入,插入排序运行8n^2步,而归并排序运行64nlgn步。问对哪些n值,插入排序...
  • 《离散无记忆信道容量的matlab算法》由会员分享,可在线阅读,更多相关《离散无记忆信道容量的matlab算法(2页珍藏版)》请在人人文库网上搜索。1、functionI,pp=channelcapacity(P,k)%I是信道容量,pp是最佳入口分布...
  • 基于混合粒子群算法的TSP搜索算法 标准粒子群算法通过追随个体极值和群体极值完成极值寻优,虽然操作简单,且能够快速收敛,但是随着迭代次数的不断增加,在种群收敛集中的同时,各粒子也越来越相似,可能在局部最优...
  • matlab算法模型——图的最短路径和距离
  • 我正在尝试实现本文描述的算法:这是算法的说明:我们N以采样频率记录了一系列连续的斑点图像fs。这样,可以观察像素如何在图像中演变N。可以将这种演变视为时间序列,并可以通过以下方式进行处理:与每个像素的演变...
  • 原标题:30个最常用的智能算法MATLAB实现讲解了遗传算法、免疫算法、退火算法、粒子群算法、鱼群算法、蚁群算法和神经网络算法等最常用的智能算法MATLAB实现。共给出30个案例,每个案例都是一个使用智能算法解决...
  • bfgs算法matlab代码

    2021-04-19 08:01:27
    (对 Large -scale 问题) 对应文件 \\toolbox\\matlab\\funfun\\fminbnd.m \\toolbox\\optim\\sfminbx.m \\toolbox\\optim\\private\\fminusub.m fminunc BFGS 或 DFP ......威尔逊—θ法在matlab中的实现_数学_自然...
  • 传递函数零极点增益与状态空间转换的matlab算法实现传递函数、零极点增益与状态空间三种模型转换的MATLAB算法实现一、引言微分方程是自控控制系统最原始的数学模型,它反映系统动态运行规律。时域分析中要用拉普拉斯...
  • 本文引用地址:http://www.eepw.com.cn/article/151252.htm虽然 MATLAB 是一种强大的运算开发工具,但其许多优点却在浮点定点转换过程中被降低了。例如,由于定点算术中精度较低,新的数学误差被引入算法。您必须...
  • 基于MATLAB的FFT算法实现(论文) 基于 MATLAB 的 FFT 算法实现基于 MATLAB 的 FFT 算法实现摘要MATLAB 软件是目前全世界范围内非常流行的具有很强的科学计算和图形界面的软件系统。利用 MATLAB 的强大运算功能,可以...
  • 引论0.1 算法重在设计0.2 直接法的缩减技术0.3 迭代法的校正技术0.4 算法优化的松弛技术小结习题0章 插值方法1.1 插值平均1.2 Lagrange插值公式1.3 逐步插值过程1.4 插值逼近1.5 样条插值小结题解1.1 La...
  • 麻雀搜索算法——Matlab

    千次阅读 2021-10-11 20:53:24
    麻雀搜索算法是2020年提出的元启发式...个人写的麻雀搜索算法Matlab代码,仅供参考,由于算法的一些变量介绍的并不是很清楚,所以就自己凭感觉写的。算法的测试函数如下: 三维的matlab图像如下: 在自变.
  • 数学建模matlab算法大全第02章整数规划第二章 整数规划§1 概论1.1 定义规划中的变量(部分或全部)限制为整数时,称为整数规划。若在线性规划模型中,变量限制为整数,则称为整数线性规划。目前所流行的求解整数规划...
  • 章谢菲尔德大学的MATLAB遗传算法工具箱1.1理论基础1.1.1遗传算法概述1.1.2谢菲尔德遗传算法工具箱1.2案例背景1.2.1问题描述1.2.2解题思路及步骤1.3MATLAB程序实现1.3.1工具箱结构1.3.2遗传算法常用函数1.3.3遗传算法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 166,767
精华内容 66,706
关键字:

matlab算法

matlab 订阅
友情链接: ZhiEnroll.rar