-
MATLAB工具箱介绍-GATBX遗传算法工具箱.txt
2019-08-12 23:10:59序号工具箱备注数学、统计与优化1Symbolic Math Toolbox符号数学工具箱2Partial Differential Euqation Toolbox...优化工具箱6Global Optimization Toolbox全局优化工具箱7Neural Network Toolbox神经网络工具箱8Model... -
基于MATLAB信号处理工具箱的数字滤波器设计与仿真-E5处理工具箱的数字滤波器设计与仿真.zip
2019-08-12 21:11:27基于MATLAB信号处理工具箱的数字滤波器设计与仿真-E5处理工具箱的数字滤波器设计与仿真.zip 摘要:传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种利用MATLAB... -
MATLAB遗传算法工具箱及应用
2018-09-09 13:18:09本书系统介绍MATLAB遗传算法和直接搜索工具箱的功能特点、编程原理及使用方法。全书共分为9章。第一章至第四章介绍遗传算法的基础知识,包括遗传算法的基本原理,编码、选择、交叉、变异,适应度函数,控制参数选择... -
【MATLAB】MATLAB概论及功能介绍
2020-07-12 12:30:08MATLAB概论 MATLAB特点: 强大的数值运算功能 矩阵运算 多项式和有理分式运算 数据统计分析 ...优化处理 ...高级又简单的程序环境:...功能强大的工具箱 功能性:符号计算、可视化的建模仿真、文字处理 学科性:控制系统MATLAB概论
-
MATLAB特点:
- 强大的数值运算功能
- 矩阵运算
- 多项式和有理分式运算
- 数据统计分析
- 数值积分
- 优化处理
- 高级又简单的程序环境:
- 命令行的交互式工作方式
- 程序文件方式工作,是一种面向对象的程序设计语言
- 扩充能力强,可以自定义工具箱
- 开放的源程序,可进行二次开发
- 强大的可视化能力
- 提供两个层次的图形命令
- 提供图形句柄的低级图形命令
- 简单实用的高级图形命令:用来绘制二维、三维乃至多维图形
- 功能强大的工具箱
- 功能性:符号计算、可视化的建模仿真、文字处理
- 学科性:控制系统工具箱、信号处理工具箱、统计工具箱
- 大量的内部函数,可以解决各领域的科学计算问题
- 强大的数值运算功能
-
MATLAB基本书写规范:
- 字母大小写敏感,标点符号是半角
- 一行可以写多个命令
- 续行符号"///”
- 变量命名规则:字母开头,后面可以是数字、字母、下划线
- 注释符号:%
-
MATLAB功能介绍
- 求解线性方程组
- 求解一元多次方程组
- 曲线拟合
- 符号运算
- 二维绘图
- 三维绘图
- 多项式拟合
- 非线性拟合
- 图像处理
- 人工智能
>> %求解线性方程组 >> A=[3 1 -1;1 2 4;-1 4 5]; b=[3.6;2.1;-1.4]; x=A\b x = 1.4818 -0.4606 0.3848 >> %求解一元多次方程组 >> p=[2,0,3,71,-9,13]; >> x=roots(p) x = 1.5331 + 2.9655i 1.5331 - 2.9655i -3.1992 + 0.0000i 0.0665 + 0.4218i 0.0665 - 0.4218i >> %曲线拟合:两个向量x和y表示的x-y平面上的一组点,利用这些点进行曲线拟合 >> x=[1,3,7,4,5,2,9,5,8]; >> y=[4,3,7,4,9,1,8,4,5]; >> p1=polyfit(x,y,2)%p1 一次多项式的系数 p1 = -0.0266 0.8964 1.4262 >> linc=polyval(p1,x)%linc 向量多项式p1的值 linc = 2.2960 3.8763 6.3996 4.5868 5.2442 3.1127 7.3425 5.2442 6.8976 >> plot(x,linc,x,y,'ro')
-
-
matlab遗传算法工具箱及应用
2011-04-11 10:38:13本书系统介绍MATLAB遗传算法和直接搜索工具箱的功能特点、编程原理及使用方法。全书共分为9章。第一章至第四章介绍遗传算法的基础知识,包括遗传算法的基本原理,编码、选择、交叉、变异,适应度函数,控制参数选择... -
MATLAB控制工程工具箱技术手册
2009-08-08 21:31:15在讲解6个工具箱的过程中,本书还讲解了一些工程应用方面的背景知识,并对每个函数的功能、语法和参数做了详细的说明,对许多重要的函数都给出了具体的示例程序。 本书可以作为高等院校控制工程专业本科生、研究生... -
MATLAB最优化方法
2019-05-14 21:54:51结合实例介绍MATLAB最优化工具箱的主要功能。 -
matlab遗传算法工具箱及应用 雷英杰
2009-12-22 17:20:02本书系统介绍MATLAB遗传算法和直接搜索工具箱的功能特点、编程原理及使用方法。全书共分为9章。第一章至第四章介绍遗传算法的基础知识,包括遗传算法的基本原理,编码、选择、交叉、变异,适应度函数,控制参数选择... -
MATLAB遗传算法工具箱及应用(清晰版)+程序
2012-09-18 21:13:18本书系统介绍MATLAB遗传算法和直接搜索工具箱的功能特点、编程原理及使用方法。全书共分为9章。第一章至第四章介绍遗传算法的基础知识,包括遗传算法的基本原理,编码、选择、交叉、变异,适应度函数,控制参数选择... -
《MATLAB 遗传算法工具箱及应用》PDF——带目录
2012-09-17 02:40:24本书系统介绍MATLAB遗传算法和直接搜索工具箱的功能特点、编程原理及使用方法。全书共分为9章。第一章至第四章介绍遗传算法的基础知识,包括遗传算法的基本原理,编码、选择、交叉、变异,适应度函数,控制参数选择... -
spams----稀疏建模工具箱在MATLAB下的安装编译
2016-12-05 15:32:02SPAMS 是一个为解决各种稀疏估计问题的开源优化工具箱,http://spamsdevel.gforge.inria.fr/index.html ,简单介绍下功能:字典学习与矩阵分解,解决稀疏分解,解决结构化稀疏分解问题。 由于这个工具箱给出的...SPAMS 是一个为解决各种稀疏估计问题的开源优化工具箱,http://spamsdevel.gforge.inria.fr/index.html ,简单介绍下功能:字典学习与矩阵分解,解决稀疏分解,解决结构化稀疏分解问题。
由于这个工具箱给出的是c++代码,所以需要编译才能最终使用。也正因为如此,这个工具箱实现的算法在执行时是很快的,而且可以移植到各种平台使用。这个工具箱网上很多人有提到,都说编译时出现问题,我的电脑也不例外,下面稍微总结一下它的安装及使用情况。
我的电脑环境:win7 64位,matlab2012b,VS2013
对于安装,下载安装包,解压到一个文件夹,如下图,解压后有不少文件、文件夹,其中的doc_spams.pdf是一个详尽的使用说明,介绍了各个函数接口如何使用(每个函数都有一个测试文件供测试,在test_release文件夹中)。在HOW_TO_INSTALL.txt中有简单说明,啰嗦了半天就是说使用compile.m进行文件编译,对于不同的计算机,配置都在这个文件中调整,所以使用matlab打开compile.m文件,前130行是用来做配置的,作者也很贴心啊,第131、132行有如下提示,意思就是130行以后,不懂不要乱动。
第一步:导入matlab—set path
执行命令:mex -setup第二步:修改compile.m
以下是截图,大家对应自己的来。
保存compile.m文件。
按上面的过程配置好后,运行compile.m,执行编译。编译过程顺利完成,那恭喜你有一台好电脑;如果出错,也恭喜你,和我的情况一样。我的出错提示是说mexStochasticProx.cpp文件编译时失败,然后是给出失败的各种错误用法。对此网上找了半天没找到好的解决办法,所以折中的办法就是不编译这些不知道哪里出问题的文件,其实这些文件也不常用(因为对我而言,根本不知道这个函数是干啥的)。个人感觉这个工具箱好的地方也在此,一个文件对应一个函数接口,一个文件不编译,对其他函数接口无影响(貌似是这样)。如何不编译呢?就是在compile.m中找到相应行注释掉,如我的电脑上mexStochasticProx.cpp编译失败,那就把它注释掉。另外还出错了这三个,也注释掉。
% '-I./linalg/ -I./prox/ prox/mex/mexGroupStructOfString.cpp',
% '-I./linalg/ -I./prox/ prox/mex/mexReadGroupStruct.cpp',
% '-I./linalg/ -I./prox/ prox/mex/mexSimpleGroupTree.cpp',
编译完没再出错,就可以使用了。 另外,真正使用时,调用工具箱函数可能会报错,说函数无法执行之类,这是因为,compile.m文件的最后把src_release文件夹中各函数接口的帮助文件(与函数同名,里面全是注释,作为帮助信息)也拷贝到了build文件夹中,由于.m文件和.mexw32同名,matlab可能去执行.m文件去了(一般是优先执行.mexw32文件的,可能跟matlab版本有关,执行优先级不同)。所以报错就可以把build文件夹中与.mexw32同名的.m文件直接删掉,没报则不用管。
测试
此测试又是对lena做处理,实现字典学习,结果如下% test_TrainDL_GJ.m:测试mexTrainDL函数 clc clear close all I=double(imread('./data/lena.png'))/255; I = imresize(I, 0.25); % 图片太大,运行时间过长,所以缩放一下 X=im2col(I,[8 8],'sliding'); % extract 8 x 8 patches X=X-repmat(mean(X),[size(X,1) 1]); % 减均值 X=X ./ repmat(sqrt(sum(X.^2)),[size(X,1) 1]); % 标准化 param.K=256; % learns a dictionary with 100 elements param.lambda=0.15; param.numThreads=-1; % number of threads param.batchsize=400; param.verbose=false; param.iter=100; % 迭代次数,原始是1000,效果好但时间过长,这里减为100 tic D = mexTrainDL(X,param); t=toc; fprintf('time of computation for Dictionary Learning: %f\n',t); fprintf('Evaluating cost function...\n'); alpha=mexLasso(X,D,param); R=mean(0.5*sum((X-D*alpha).^2)+param.lambda*sum(abs(alpha))); ImD=displayPatches(D); imagesc(ImD); colormap('gray'); fprintf('objective function: %f\n',R);
-
MATLAB 6.5辅助优化计算与设计
2009-05-08 21:25:37全书侧重于优化工具箱在工程中的具体应用,通过具体的分析和详细的实例,读者不仅对MATLAB优化工具箱函数的强大功能有一个深刻了解,更能学会正确运用优化工具箱函数快速解决实际问题,从而提高分析问题和解决问题的... -
MATLAB最优化方法视频课程
2019-05-17 10:22:15结合实例介绍MATLAB最优化工具箱的主要功能。 【课程收益】 学习各种最优化方法 实用性非常强 数学建模必学 第一章:一维搜索问题 1. 基本数学原理 14:49 2. 有关函数介绍 21:34 3. 应用实例-铁板裁剪...【课程介绍】
结合实例介绍MATLAB最优化工具箱的主要功能。
【课程收益】
学习各种最优化方法
实用性非常强
数学建模必学第一章:一维搜索问题
1. 基本数学原理 14:49 2. 有关函数介绍 21:34 3. 应用实例-铁板裁剪问题 5:51
第二章:线性规划
1. 基本数学原理 4:58 2. 有关函数介绍 14:03 3. 应用实例1-产品生成问题 10:26 4. 应用实例2-机床加工问题 12:16 5. 应用实例3-钢筋购买问题 9:11
第三章:无约束非线性最优化问题
1. 基本数学原理 4:44 2. 有关函数介绍-fminunc函数 12:09 3. 有关函数介绍-fminsearch函数 待上传视频 4. 应用实例1 3:58 5. 应用实例2 8:30
第四章:有约束非线性最优化问题
1. 基本数学原理 4:47 2. 有关函数介绍 15:22 3. 应用实例-圆柱螺旋弹簧设计问题 9:28
第五章:二次规划
1. 基本数学原理 6:50 2. 有关函数介绍 3:50 3. 应用实例 5:44
第六章:混合整数线性规划
1. 数学原理 3:45 2. 相关函数介绍 9:44 3. 0-1规划实例-工厂选址问题 11:04 4. 整数规划实例-机床购买问题 6:58 5. 混合整数线性规划实例 9:19
第七章:多目标规划
1. 基本数学原理 8:28 2. 有关函数介绍 7:30 3. 应用实例1-生产计划安排问题 12:44 4. 应用实例2-采购问题 10:02
第八章:最大最小化
1. 基本数学原理 3:26 2. 有关函数介绍 7:32 3. 应用实例-供应中心选址问题 9:19
第九章:半无限问题
1. 基本数学原理 3:30 2. 有关函数介绍 5:13 3. 应用实例1-一维问题 8:19 4. 应用实例2-二维问题 5:34
-
Matlab辅助优化计算与设计
2010-05-09 21:43:53书中全面系统介绍了优化方法的基础理论和优化工具箱的函数功能、语法和工程实际应用,为从事优化决策领域研究人员提供较大的帮助。 -
Matlab中TCP通讯-实现外部程序提供优化目标函数解
2017-12-06 11:34:32而在用途方面也有很多,比如matlab优化问题中目标函数可以是其他程序的运算结果,此时需要动态的每次优化调用其他程序,这时可以使用tcp实现两程序之间的数据交互,由matlab的优化工具箱提供每次优化的设计变量值,...介绍
TCP如此常用的通讯功能,matlab自然也是支持的。而在用途方面也有很多,比如matlab优化问题中目标函数可以是其他程序的运算结果,此时需要动态的每次优化调用其他程序,这时可以使用tcp实现两程序之间的数据交互,由matlab的优化工具箱提供每次优化的设计变量值,有某程序提供基于设计变量得出的运算结果值作为目标函数的解。
TCP使用方法
Matlab 对TCP的封装很好,只有在建立和关闭tcp需要专用的函数,其他操作均与文件操作完全一致。
下面先给出一个用于优化的范例:
主脚本:
clc;clear; %开启tcp global mtcpip %用全局变量方便优化函数中使用tcp global circle_number circle_number=0; mtcpip=tcpip('127.0.0.1', 8000); fopen(mtcpip); fwrite(mtcpip,['Matlab Connect in',char(13), char(10)]) %优化算法-- current_value = [123123 123123 123123 123321 123123 123123 13 123123 123123]; lb=[]; ub=[]; new_error = fmincon(@matlab_function,current_value,[],[],[],[],lb,ub);%优化 % 优化技术-关闭tcp fwrite(mtcpip,['Matlab Disconnect',char(13), char(10)]) fclose(mtcpip); delete(mtcpip);
优化函数:
function [ f ] = matlab_function( x ) global mtcpip global circle_number circle_number=circle_number+1; x_size = size(x); send_text=['matlabvalue--']; for i=1:1:x_size(2) if i==x_size(2) send_text=[send_text,num2str(x(i),'%.4f'),char(13), char(10)]; else send_text=[send_text,num2str(x(i),'%.4f'),';']; end end fwrite(mtcpip,send_text); while 1 A = fread(mtcpip, 20); text = char(A); text_size = size(text); if text_size(1)<2 continue; end if text(1) == 'm' && text(2) == 'r' text=text'; text = strrep(text,'@','');//符号替换 text = strrep(text,'mr',''); text = strrep(text,'#','');//删除末尾多余的占位符,我用#作为占位符了 f = str2double(text); ['circle one begin',num2str(circle_number,'%.4f')] break; end end end
此范例的优化函数中利用一个while 1实现了阻塞,会不断的循环等待其他程序算出结果后成功接收到结果才完成单步优化计算。我设定了结果的固定表示格式
“mrXXXXXX###########@”消息总长度为20,末尾为@作为结束符,mr作为开头,XXXX为消息实际内容,#为占位符,以此方式保证每次发送消息均为20长度,同时可以通过数据头的mr确定收到的内容是不是传给matlab的结果文件(若多个tcp通讯需要做此判断防止发送错误,导致后续结果计算错误),只有当结果均计算正确,才目标函数返回值赋值为接收到的结果,并break进入下一次优化迭代
创建tcp
tcpip()函数创建一个tcp对象,可以在matlab中用help tcpip查到帮助,上述范例为开启客户端。对于目标主机ip可以用’localhost’代替127
注意此函数第三项参数用来配置为服务端还是客户端,若不写默认为客户端
注意开启完成后的返回值一定要保存,后续开启、收发和关闭均需要使用,此处因为需要跨多个m文件使用此tcp所以设置为了全局变量
开启tcp
fopen即可,参数传入tcp对象
关闭tcp
fclose? 就可以关闭一个已经开启的tcp了,参数传入tcp对象
建议用delete释放tcp对象的内容
收发
启动tcp以后,matlab支持直接用文件读写的方式进行tcp消息收发,直接使用fwrite、fread即可,第一个参数要传入开启tcp对象
其他
matlab发送回车,换行符的方法
matlab不支持在字符串中用\n实现换行,但是可以直接发送对应ASCII码,可以通过char(13), char(10)实现换行的发送,注意这两个对应的是\r\n,windows中是用\r\n实现换行,若linux直接发送\n的10即可。
matlab字符串连接
很简单[send_text,num2str(x(i),’%.4f’),char(13), char(10)],直接用行向量数组即可,本身matlab就是用char数组表示字符串的
接收数据为列向量,转行向量方法
直接text=text’;即可,和矩阵操作一样
别用string()去强制字符串,matlab中本身就是用char数组表示字符串,没有单独的字符串概念,转换完也没区别
字符串处理-替换
text = strrep(text,’@’,”);实现了吧text中的所有@删除,上述范例是因为发送来的数据是固定的格式,对格式做预处理
由于matlab接收tcp消息是按照固定长度,所以发送端若发送的内容不够长,可以在后面加占位符,matlab接收到以后删除占位符即可
接收长度限制
A = fread(mtcpip, 20);
此函数指定了接收的长度,若消息发送的长度不够,会一直阻塞,直到超时以后才会接收已有的为满足长度要求的数据,为了保证立即接收,建议发送数据末尾用占位符,接收到以后再替换掉。
Techie亮博客,转载请注明:Coologic » Matlab中TCP通讯-实现外部程序提供优化目标函数解
Coologic 博客域名已更改,已从 www.techieliang.com 改为 www.coologic.cn,上述链接地址受到影响,若需查看源文请手动修改,多有不便,敬请谅解。 -
基于matlab_数字滤波器的设计.pdf
2019-11-28 20:49:07Matlab因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用Matlab信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。本文介绍了在MATLAB R2009a 环境下滤波器设计的... -
MATLAB从基础到精通源文件
2018-09-01 16:47:39本书涉及面广,涵盖了一般用户需要使用的各种功能,并详细介绍了MATLAB常用工具箱的使用。在详细介绍MATLAB理论知识的同时,全程配合实例,使读者更容易掌握。本书附带1张DVD光盘,内容为本书多媒体语音教学视频及... -
MATLAB从基础到精通源代码
2012-12-10 10:47:47本书涉及面广,涵盖了一般用户需要使用的各种功能,并详细介绍了MATLAB常用工具箱的使用。在详细介绍MATLAB理论知识的同时,全程配合实例,使读者更容易掌握。 第1篇主要介绍MATLAB基础知识,第2篇主要介绍MATLAB... -
基于MATLAB和VRML的凸轮机构虚拟设计研究与实现-MATLAB和VRML的凸轮机构虚拟设计研究与实现.part2.rar
2019-08-13 15:32:462.3.2 MATLAB虚拟现实工具箱的应用接口 2.4本章小结 第3章凸轮机构设计 3.1概述 3.1.1凸轮机构简介 3.1.2凸轮机构设计的主要问题 3.1.3从动件运动规律及凸轮轮廓设计 3.1.4凸轮的校验参数 3.2盘形凸轮机构... -
基于MATLAB和VRML的凸轮机构虚拟设计研究与实现-MATLAB和VRML的凸轮机构虚拟设计研究与实现.part1.rar
2019-08-13 15:32:352.3.2 MATLAB虚拟现实工具箱的应用接口 2.4本章小结 第3章凸轮机构设计 3.1概述 3.1.1凸轮机构简介 3.1.2凸轮机构设计的主要问题 3.1.3从动件运动规律及凸轮轮廓设计 3.1.4凸轮的校验参数 3.2盘形凸轮机构... -
基于MATLAB和VRML的凸轮机构虚拟设计研究与实现-MATLAB和VRML的凸轮机构虚拟设计研究与实现.part3.rar
2019-08-13 15:32:562.3.2 MATLAB虚拟现实工具箱的应用接口 2.4本章小结 第3章凸轮机构设计 3.1概述 3.1.1凸轮机构简介 3.1.2凸轮机构设计的主要问题 3.1.3从动件运动规律及凸轮轮廓设计 3.1.4凸轮的校验参数 3.2盘形凸轮机构... -
MATLAB 神经网络
2018-08-09 17:32:22《MATLAB神经网络43个案例分析》共有43章,内容涵盖常见的...此外,《MATLAB神经网络43个案例分析》还介绍了MATLAB R2012b中神经网络工具箱的新增功能与特性,如神经网络并行计算、定制神经网络、神经网络高效编程等。 -
基于matlab的IIR数字滤波器设计
2012-10-21 19:05:08尤其是Matlab中的信号处理工具箱使各个领 域的研究人员可以直观方便地进行科学研究与工程应用。本文首先介绍了数字滤 波器的概念,分类以及设计要求。接着利用MATLAB函数语言编程,用信号处理图 形界面FDATool来... -
-
MATLAB应用基础第二章
2012-02-15 17:36:39赵国瑞 天津大学电子信息工程学院 计算机基础教学部 1999-2003 ...至于其包含的多种工具箱,如仿真工具箱、解非线性方程(组)工具箱、优化工具箱等,可通过本学习后,结合各专业自己进一步学习和使用。 -
摘要利用matlab设计滤波器可以按照设计要求非常方_matlab相关论文
2020-03-21 19:21:47极大地减轻了设计的工作量,有利于滤波器设计的最优化因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便本文介绍了... -
精通matlab7.0混合编程.
2015-06-30 09:21:20目录 第1章 matlab概述. 1.1 matlab的发展历程 1.2 matlab产品组成及语言特点 1.2.1 matlab的主要产品构成 1.2.2 matlab语言的特点 ...附录a 常见的免费matlab工具箱 附录b 常用的matlab免费站点 参考文献 -
MATLAB图像处理与界面编程宝典pdf part4
2015-01-07 01:27:33本书分为4部分,共29章,详细讲解了MATLAB的结构和功能,以及MATLAB图像处理工具箱。针对制作完整的图像处理软件的需要,本书还讲解了MATLAB界面编程。 本书第1部分“基础篇”,包括第1~第10章,对MATLAB安装试验...