matlab
文章平均质量分 67
pretend_b
这个作者很懒,什么都没留下…
展开
-
MathWorks官方消息:为什么神经网络工具箱不能编译
MathWorks官方消息:为什么神经网络工具箱不能编译各位会员大家好,大家关心的问题,我已经大部分得到答案。10月25号-27号我访问了MathWorks公司在波士顿的总部,大家经常关心的问题,我大部分都得到了答案。关于神经网络工具箱,我与Matlab神经网络工具箱首席架构师Dan (注:Dan也是符号工具箱的首席架构师)交谈了近1小时,他给我介绍了为什么MathWorks公司不能提供神经网络工具下编译的原因,以及在特殊情况下,如果编译神经网络工具箱方法。一:为什么神经网络工具转载 2010-11-30 17:38:00 · 1049 阅读 · 0 评论 -
Matlab 重塑和扩展矩阵
<br />扩展矩阵大小<br />扩展任何已经存在的矩阵大小,使其依然为矩形。如4成3的矩阵与7乘3的矩阵,竖直连接,因为每一行都有三列。 <br />扩展矩阵大小的两种方法: <br />Ø 连接新的元素到当前矩阵 <br />Ø 将数据存储到当前矩阵范围之外 <br />注意:如果打算不断的扩展矩阵大小以要求更多空间(通常是在循环里出现),最好是在当初定义它的时候就预先定义好它的大小。 连接矩阵<br />连接是一个非常有用的操作,当希望通过添加元素或者与原始矩阵尺寸匹配的模块来扩原创 2010-10-26 19:26:00 · 43449 阅读 · 0 评论 -
矩阵搞来搞去
<br />现有一矩阵a样子如下,第一列是歌曲id,第二列是推荐的歌曲id,第三列是置信度<br />想要生成一个矩阵b,每首歌要推荐5首歌曲,置信度已经排序,所以是每首歌从上往下取出5首推荐个曲,不足5首的用0补齐,最后的样子如下<br /> 110.1120.2130.3140.4150.5160.6170.7180.8190.921012111.12121.22131.32141.42151.52161.62171.73181.83191.932023212.14222.24232.35242.452原创 2010-10-27 17:37:00 · 718 阅读 · 0 评论 -
MATLAB矩阵索引 2
<br /><br />使用矩阵的逻辑索引<br /> 在选出A矩阵中与B矩阵内非零值位置相同的元素,为一列向量。所以不是根据值来的,而是根据位置来的。B是一个矩阵由逻辑0和1组成。即B中为非零的位置,就是要选出的A元素位置。 <br />A = [1 2 3; 4 5 6; 7 8 9]<br />A =<br /> 1 2 3<br /> 4 5 6<br /> 7 8 9 <br />B = logica原创 2010-10-26 19:25:00 · 3287 阅读 · 2 评论 -
Out of memory问题总结
<br /><br />首先,我要声明,matlab自带的Help才是最权威的Matlab学习资料,如果有时间好好学习一下或是可以高效的使用的话,一定受益匪浅!比如说像Out of Memory这个问题,最开始我都是用Help memory,几乎得不到任何信息;然后就是去网上搜索此类问题的解决方法,一般有这几种:<br /><br />除了升级内存和升级64位系统外,下面几个方法也是解决之道。<br /><br /><br />1> 增加虚拟内存<br />2> 采用PACK (在命令行输入 pack 整理原创 2010-10-26 19:28:00 · 1841 阅读 · 1 评论 -
vc++调用MATLAB complier生成的C动态链接库(输入参数为字符类型)
<br />强大的混编,这次用它来实现传说中的“河内”游戏(Hanoi),包括了子函数调用和函数递归调用,且输入参数有字符型常量。<br />在这里要强烈鄙视一下张德丰的《MATLAB与外部程序接口编程》,内容又落后又烂,居然还停留在6.5的版本,现在很多接口函数都已经变了不少。<br /> <br /> <br /><br /> <br /> <br />m代码:<br />function hanoi(n,one,two,three)<br />if n==1<br /> move(one原创 2010-10-26 17:15:00 · 2470 阅读 · 2 评论 -
Matlab中的并交子集运算
<br /><br />以下函数都可以在Matlab的help中找到说明与例子。<br />1、并集:union<br />c = union(A, B) 返回矢量A与B的并集,A与B必须是数字或字符矢量或者字符元胞数组。结果是排序的。<br />c = union(A, B, 'rows') 当A与B是列数相同的矩阵时,返回A与B行的并集,如 A=[2,3,4],B=[1,2,3] 则返回[1,2,3 ; 2,3,4],返回结果是升序的。<br />[c, ia, ib] = union(...) a转载 2010-10-27 17:31:00 · 1275 阅读 · 0 评论 -
linux下后台运行MATLAB
<br /><br />后台运行matlab脚本文件的方法:nohup<br /><br /><br />实现功能:<br />1. 字符环境下运行matlab.<br />2.字符环境下运行matlab脚本文件,脚本文件无图像的屏幕输出。<br />3.脚本文件需长时间运行,运行结果输出到文件。matlab的标准重定向到另一个文件。<br />4.客户端退出登陆后,matlab保持运行,直到脚本程序结束或错误退出时,matlab程序才退出。<br /><br />实现方法:采用原创 2010-10-27 17:47:00 · 20266 阅读 · 0 评论 -
addpath
<br />在命令窗口输入addpath /opt/matlab/toolbox/newbox 或者addpath(‘/opt/matlab/toolbox/newbox’);<br /><br />但是这种方法只能添加newbox目录,如果该目录下有其他子文件夹,并且运行时候“隐式”调用到这些子文件夹(例如假设newox目录下存在子文件夹matdata,该子文件夹下有logo.mat这个文件,且在m文件代码中使用了诸如 load logo 这样的句子,即没有显式给出logo.mat的具体路原创 2010-10-27 17:53:00 · 7280 阅读 · 1 评论 -
timer
<br />htimer=timer('TimerFcn','disp(''Hello World!'')', 'Period', 2,'executionmode','fixeddelay')<br />start(htimer)<br />要说明的是定时的时间会在某个时刻到达,但此时不一定会立刻执行TimerFcn,但它(TimerFcn的执行)会被立即加入到Matlab的执行语句队列中去排队,等到队列中前面的语句都执行完了,才被执行。这里语句的执行也会花一段时间。执行模式就针对这些3个时刻而提原创 2010-10-27 17:55:00 · 658 阅读 · 0 评论 -
画动态图
for i=0:pi/20:2*pi y=sin(i); plot(i,y,'r+') hold on drawnow;pause(1)end 每增加一个点即时画进去原创 2010-10-28 19:18:00 · 2762 阅读 · 0 评论 -
数学工具常见问题集(接上篇)
<br />> 第四节:Matcom的常见问题<br />>************************************************************************<<br /><br />=================================== - [返回]<br />1).什么是Matcom?它与Matirx/MIDEVA的关系是什么?<br />:#FangQ(Qianqian.Fan原创 2010-10-28 19:26:00 · 2400 阅读 · 0 评论 -
MATLAB元胞数组
<br />元胞数组:<br /> 元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看做一种无所不包的通用矩阵,或者叫做广义矩阵。组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸和内存占用空间,每一个元素的内容也可以完全不同,所以元胞数组的元素叫做元胞(cell)。和一般的数值矩阵一样,元胞数组的内存空间也是动态分配的。<br /> (1)元胞数组的创建<br /> <br />>> a={'matlab',20;ones(2,3)原创 2010-10-28 19:33:00 · 10555 阅读 · 0 评论 -
MATLAB在低碳的室内装潢灯光照明的应用
问题描述,一个10*4*3的房间只配备300Watt的照明功率,要如何挂载灯泡使得灯光可以均匀的散布在房间各个角落,假定只是空房间,灯泡的使用个数不限,但功率的总和不超过300Watt。衡量亮度的指标是Watt/㎡使用一个灯,要照亮各个角落当然要挂载天花板的最中间,也就是坐标(5,2)如图1可看出一个300Watt的灯泡其灯光分布情况很不均匀,差距很大,所以不是最佳的方案使用两个灯泡,当然是要放在y=2这条线上了,但最佳坐标需要算一下其最暗的角落(0,0)和最亮的地方(5,2)随这灯泡移动的轨迹如下可见在1原创 2010-10-29 19:40:00 · 1527 阅读 · 0 评论 -
一段遗传算法的代码
<br />figure(1);<br />fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]); %画出函数曲线<br />%定义遗传算法参数<br />NIND=40; %个体数目(Number of individuals)<br />MAXGEN=25; %最大遗传代数(Maximum number of generations)<br />PRECI=20; %变量的二进制位数(Precisi原创 2010-10-28 19:19:00 · 1039 阅读 · 0 评论 -
数学工具常见问题集
<br />#############################################################################<br /># 数学工具FAQ #<br /># MathTools Frequently Asked Questions #<br />原创 2010-10-28 19:29:00 · 7970 阅读 · 0 评论 -
Matlab常用时间函数
1.now 返回当前的日期值(这个数的整数部分表示从公元0年1月1日到该日的天数,小数部分则表示具体的时刻)eg.t=nowt =7.3354e+0052.datestr 日期转换成字符形式调用格式 datestr(date,dateform) date为要转换的日期值,dateform为日期格式参数(具体参数值可通过 help datestr查看帮助)dateform参数说明 DATEFORM number DATEFORM string Ex原创 2010-11-09 16:39:00 · 9864 阅读 · 0 评论 -
用MATLAB制造时间维度数据
%generate date_datadate=datestr(datenum(2010,1,1):datenum(2012,12,31),29);%using 29---iso definevector=datevec(date);vector=vector(:,1:3);month=vector(:,2);quarter=zeros(length(month),1);for i=1:length(month) switch month(i) case原创 2010-11-11 17:31:00 · 2511 阅读 · 0 评论 -
Matlab 矩阵索引
<br /><br />获取矩阵元素 <br />A(row, column) <br />线性索引 <br />matlab存储矩阵并非以它的形状的形式,而是一个线性元素列,将每一列连接起来。 <br />比如 <br />A = [2 6 9; 4 2 8; 3 5 1] <br />A = <br />2 6 9 <br />4 2 8 <br />3 5 1 <br />存为2, 4, 3, 6, 2, 5, 9, 8, 1 <br />所以A(3,2)也原创 2010-10-26 19:23:00 · 19804 阅读 · 2 评论 -
vc++调用MATLAB complier生成的C动态链接库(画图)
<br /> <br /><br /> <br />#include "stdio.h"<br />#include "tsin.h"<br /><br />int main()<br />{<br /> if (!mclInitializeApplication(NULL,0))<br /> {<br /> printf("could not initialize the application!");<br /> exit(1);<br原创 2010-10-25 15:20:00 · 2327 阅读 · 0 评论 -
vc++调用MATLAB complier生成的C动态链接库
<br />相信步骤大家都知道,下面上成果<br /> <br /> <br /><br /> <br /> <br /><br /> <br /> <br />代码如下,英文系统没有中文输入法,而且打中文居然是乱码,不知道咋整,只能用英文注释了<br /> <br />/*the key ideal is to call the function "mlfMrank" which is created by matlab complier,<br />and i used the command "m原创 2010-10-23 14:31:00 · 1879 阅读 · 0 评论 -
matlab编译器的局限性
目前,MATLAB7版本的编译器不能编译的文件类型如下1、脚本m文件2、使用对象的m文件3、使用nput和eval语句来操作工作空间变量的m文件4.、动态命名将被装载或保存的变量的m文件,如:load('xxx.mat',x); x='fucker';5、编译内建函数,但他们大多数是可以使用的,因为他们大多都在MATLAB的内建函数库里面原创 2010-10-12 16:58:00 · 1231 阅读 · 0 评论 -
Matlab与Linux中文环境冲突问题解决方法
前言: 关于linux下matlab的安装步骤和matlab的 lisence.dat文件的破解方法在网上有相关文章。 <br /><br /> 第一步, 确认是否为本文讨论的范畴:<br /> 安装完matlab6.5后,在中文环境中启动时,matlab容易死机,而在英文环境中却能正常工作!这就说明是matlab与中文环境有冲突。<br /><br /> 第二步,环境变量的设置:<br /> 到底要设置哪些环境变量?到底该设置成什么值?本文提供一种更一般、更容易转载 2010-10-12 17:00:00 · 1667 阅读 · 0 评论 -
使用文本文件(.txt)进行数据存取的技巧总结(下)
<br />三. 具体例子分析:<br />Matlab网站用两个例子非常详尽地介绍了各个命令的基本用法,实际中,面对手头上的数据,如何选用合适的命令呢?以下结合几个示例给出一些总结,大家举一反三就可以了:<br />1. 纯数据(列数相同):<br />源文件:<br /> <br />CODE:<br />0 3866.162 2198.938 141.140<br />1 3741.139 2208.475 141.252<br />2 3866.200 2198.936转载 2010-10-12 17:07:00 · 909 阅读 · 0 评论 -
使用文本文件(.txt)进行数据存取的技巧总结(上)
特别说明:由于大家在 I/O 存取上以 txt 文件为主,且读取比存储更麻烦(存储的话 fwrite, fprintf 基本够用),因此下面的讨论主要集中在“txt 文件的读取”上。除了标注了“转”之外,其余心得均出于本人经验之结果,欢迎大家指正、补充。一. 基本知识:<br />--------------------------------------------------转----------------------------------------------------<br />转载 2010-10-12 17:05:00 · 646 阅读 · 0 评论 -
关于UltraEdit 15.* 的语法高亮-支持Matlab程序.m文件
<br />需求<br />UltraEdit作为文本编辑器有许多其他编辑器所没有的功能,现在有一个好的功能—语法着色。<br />最近需要看一点Matlab程序.m文件,需要UltraEdit支持这种文件。<br /><br />说明<br />UltraEdit14.*版本的语法着色已经不是worldfile.txt了,是worldfile.uew。<br />但是到现在15.*版本,wordfile的形式再次发生改变了,具体的是wordfiles/*.uew。<br /><br />获转载 2010-12-02 15:08:00 · 3600 阅读 · 2 评论 -
画动态图
<br />for i=0:pi/20:2*pi<br /> y=sin(i);<br /> plot(i,y,'r+')<br /> hold on<br /> drawnow;pause(1)<br />end <br /> <br />每增加一个点即时画进去原创 2010-10-12 17:02:00 · 976 阅读 · 0 评论 -
Matlab中的并交子集运算
以下函数都可以在Matlab的help中找到说明与例子。1、并集:unionc = union(A, B) 返回矢量A与B的并集,A与B必须是数字或字符矢量或者字符元胞数组。结果是排序的。c = union(A, B, 'rows') 当A与B是列数相同的矩阵时,返回A与B行的并集,如 A=[2,3,4],B=[1,2,3] 则返回[1,2,3 ; 2,3,4],返回结果是升序的。[c, ia, ib] = union(...) also returns index vectors ia and ib su转载 2010-10-14 17:44:00 · 11183 阅读 · 0 评论 -
两个HIST怎么公用通一个X轴
<br />x = -4:0.1:4;<br />y = randn(10000,1);<br />n = hist(y,x);<br />subplot(2,1,1);<br />bar(x,n);<br />subplot(2,1,2);<br />bar(x,-n);<br />set(gca,'XAxisLocation','top');转载 2010-10-14 17:41:00 · 784 阅读 · 0 评论 -
Linux后台运行MATLAB命令
/usr/bin/nohup /usr/local/matlab/bin/matlab -c /root/matlab_for_linux/crack/lic_standalone.dat -nodisplay running.log 2>running.err &原创 2010-10-14 17:43:00 · 2969 阅读 · 0 评论 -
matlab随机抽样
<br />1。程序实现 <br />设数据存放于向量a中,需要重复n次简单随机采样,程序及说明如下:<br />m=length(a); %dimension <br />idx= ceil(m*rand(1,n)) ; %generate n random index between 1 and m<br />b = a(idx) ; % sampling<br /> <br />2。自带函数<br />RANDSAMPLE Random sample, with or without replacem原创 2010-10-14 17:46:00 · 21374 阅读 · 1 评论 -
蒙特卡罗仿真基于MATLAB与c语言混合编程
<br /><br /> <br />代码如下:<br />function y=carlo(n,k)<br />%n is the number of simulations<br />%k is the number of trails<br />%y is the reslut of every trails<br />y=sum(sign(0.51-rand(n,k)));<br />hist(y);<br />----------------------------------原创 2010-12-04 11:32:00 · 2456 阅读 · 0 评论 -
MathWorks 为 MATLAB 提供 GPU 支持
<br />通过 Parallel Computing Toolbox 使用 NVIDIA GPU 可加快计算速度 <br /><br />中国北京– 2010 年 9 月 25 日 – 近日在 GPU 技术大会 (GTC) 上,MathWorks 宣布通过使用 Parallel Computing Toolbox 或 MATLAB Distributed Computing Server 实现在MATLAB 应用中提供对 NVIDIA 图形处理器 (GPU) 的支持。这项支持可使工程师和转载 2010-12-04 14:45:00 · 1111 阅读 · 0 评论 -
Matlab通过JDBC建立到Oracle数据库的连接
<br /> <br />Linux下的配置过程和Windows一样,如下: <br />1、将Oracle JDBC的JAR包拷贝到Matlab的相关目录(../matlab/java/jar/toolbox/)下。 <br /> Oracle 11g安装目录的jdbcàlib(如/app/Administrator/product/11.1.0/client_1/jdbc/lib)下有四个文件:ojdbc5.jar、ojdbc5_g.jar、ojdbc6.jar、ojdbc6_g.jar。 <原创 2010-12-09 09:13:00 · 6485 阅读 · 0 评论 -
VC++与Matlab混合编程之引擎操作详解(1)
<br />Visual C++是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快。但在科学计算方面函数库显得不够丰富、读取、显示数据图形不方便。Matlab是一款将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,适合科学研究、工程设计等众多学科领域使用的一种简洁、高效的编程工具。不过由于Matlab使用的是解释性语言,大大限制了它的执行速度和应用场合。基于VC和Matlab混合编程是很多熟悉VC++编程而又需要进行科学计算、数据仿真的科研人员常用的一种方原创 2010-10-23 09:40:00 · 715 阅读 · 0 评论 -
VC++与Matlab混合编程之引擎操作详解(2)引擎API详解
<br />3. 引擎API详解<br />在调用Matlab引擎之前,首先应在相关文件中加入一行:#include "enging.h",该文件包含了引擎API函数的说明和所需数据结构的定义。可以在VC中调用的引擎函数分别如下:<br />3.1 引擎的打开和关闭<br />engOpen-打开Matlab engine<br /><br />函数声明:<br />Engine *engOpen(const char *startcmd); <br />参数startcmd是用来启动Matlab引擎的字符原创 2010-10-23 09:43:00 · 899 阅读 · 0 评论 -
VC++与Matlab混合编程之引擎操作详解(3)数据类型mxArray的操作
<br /> <br /><br />4. 数据类型mxArray的操作<br /> <br />在上节的Matlab引擎函数中,所有与变量有关的数据类型都是mxArray类型。数据结构mxArray以及大量的mx开头的函数,广泛用于Matlab 引擎程序和Matlab C数学库中。mxArray是一种很复杂的数据结构,与Matlab中的array相对应,我们只需熟悉Matlab的array类型和几个常用的mxArray函数即可。<br /> <br />在VC中,所有和Matlab的数据交互都是通过mxA原创 2010-10-23 09:44:00 · 1846 阅读 · 0 评论 -
VC++与Matlab混合编程之引擎操作详解(3)数据类型mxArray的操作
<br />5. 程序实例<br />对大部分软件研发人员来说利用VC编程方便、高效,但是要显示数据图形就不那么容易了,这时候不防借助Matlab引擎辅助画图做数据分析。下面通过实例演示如何利用VC调用Matlab绘图,程序的主要功能是在VC中对数组x计算函数值y=sin(x) ±log(x),然后调用Matlab绘制y对x的图形。<br /><br />在VC中新建工程,编写代码如下:<br /><br />#include <iostream><br />#include <math.h><br />#原创 2010-10-23 09:45:00 · 2398 阅读 · 0 评论 -
一段遗传算法的代码
<br />figure(1);<br />fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]); %画出函数曲线<br />%定义遗传算法参数<br />NIND=40; %个体数目(Number of individuals)<br />MAXGEN=25; %最大遗传代数(Maximum number of generations)<br />PRECI=20; %变量的二进制位数(Precision of vari原创 2011-02-15 15:30:00 · 2884 阅读 · 0 评论