![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
matlab学习
文章平均质量分 60
Richard_Yang2016
每天进步一点点
展开
-
【matlab】在程序运行结果中保存数据到txt文档
文件写入方法问题提出:现在要保存程序的输出结果,包括运行时间,运行结果和中间变量。其中运行时间和运行结果只是一个数字,中间变量结果时一个n*n的矩阵和一个2*n的矩阵。想把这些量保存在txt文件中。 save 函数将工作空间中的变量写入文件,导出mat文件中。 1. 调用dlmwrite函数dlmwrite(filename,M)dlmwrite(filename,原创 2016-06-26 21:23:32 · 23054 阅读 · 2 评论 -
Matlab随机数列产生方法
在很多组合优化问题,比如TSP,Scheduling, Assignment, Layout等,使用启发式算法会随机产生初始解,说到底就是一个不重复的数列,下面给出了随机产生的方法。使用randperm函数实现。比如: >> a= randperm(9)a = 7 8 2 5 4 1 9 6 3再比如如果要...原创 2018-04-19 19:30:56 · 6944 阅读 · 0 评论 -
matlab指定区间随机数产生
1. rand 函数。 rand Uniformly distributed pseudorandom numbers. R = rand(N) returns an N-by-N matrix containing pseudorandom values drawn from the standard uniform distribution on the open in原创 2017-10-17 10:24:05 · 13204 阅读 · 0 评论 -
使用启发式算法生成初始解输入Gurobi 中求解
今天看论文 Double row layout problem. 最后提到一种方法,使用启发式算法生成解当做初始解给Gurobi求解。这样的结合求解可以提高求解效率。主要用到Yalmip 中的assign 命令 以及 usex0例如:x = sdpvar(1,1);assign(x,pi);optimize([sin(x)^2 usex0The原创 2017-08-16 21:37:25 · 4690 阅读 · 0 评论 -
Matlab中设置运行时间
tstart =tic; …… …… tused = toc(tstart) if tused > 3600 return end原创 2017-06-06 00:29:26 · 4661 阅读 · 2 评论 -
【matlab】向量中选择元素插入该向量的位置
问题:随机生成一个向量,生成一个需要插入的元素,另外生成一个需要插入的位置,进行插入操作。比如,向量c=[6 2 4 5 3 9 8 7 1], 需要插入的元素为c(5)=3,位置a=2。插入操作后的c=[6 32 4 5 9 8 7 1]. 具体实现代码为: clcclear alln=9c=randperm(n)i=randi(n) %需插入元素a=ra原创 2016-07-06 16:34:46 · 8534 阅读 · 1 评论 -
【matlab】预分配内存提高运行效率以及时间比较
问题:为了减少运行时间,在对特定大小的矩阵进行预分配内存可以实现。现在测试几种预分配内存的方法,比较运行时间。cleartic;a(10000,20000) = 0; %方法一,直接赋值为零time=tocdisp(['用直接赋值方式,time=',num2str(time),'秒.'])cleartic;b=zeros(10000,200原创 2016-07-05 10:54:34 · 18375 阅读 · 0 评论 -
【matlab】离散化启发式算法编程中生成随机数
在离散化编程,特别是启发式算法编程中,经常用到随机整数列的产生,然后再对整数列进行操作和迭代。下面介绍几个常用的函数。1.randi函数randi函数用于产生一定范围的随机数,而且同一个随机数可以再一次出现。比如: randi(5,5) %生成数字为1-5的5*5的矩阵ans = 3 1 5 1 2原创 2016-07-04 21:36:32 · 1823 阅读 · 1 评论 -
【matlab】利用matlab编写启发式算法
现在要利用matlab编写两个启发式算法进行问题的求解,为什么要引入启发式算法呢?是因为精确算法虽然可以求得问题的最优解,但在有限的时间内求解的规模不大,难以满足对大规模问题的解决。特引入启发式算法。需要了解函数对一些启发式规则的表达,进行模块化的编程。以后会分享自己在编程过程中的心得体会。原创 2016-07-04 20:25:01 · 7441 阅读 · 7 评论 -
【matlab】关于批量随机生成数据和批量保存运行结果
在科研中,如果算例非常多(几十上百个),安装一定的排列规则随机生成算例,运行后对结果进行分析的时候,如果能对算例随机生成,对运行结果批量保存到excel中,可以大大提高科研的效率。现将我的一些程序分享一下。大家可以借鉴一下整体的框架。批量产生随机算例,并且保存到以一定规则命名的文件中:clcclear allfile_n=[5 10 15 20 25 30 35 404原创 2016-07-04 19:50:32 · 5812 阅读 · 0 评论 -
【matlab】关于取整
今天读文献发现一个取整符号└n/2┘,要在matlab里面实现其功能特意查看了相关的资料。总结如下:1、算法—离散数学中┌ ┐和└ ┘的含义这里介绍离散数学中两个重要的函数,即底函数和顶函数。令x为实数。底函数把x下舍入到小于或等于x又最接近x的整数,而顶函数则把x上舍入到大于或等于x又最接近x的整数。在统计对象个数时常使用这两个函数。在分析解一定规模的问题的计算机过程转载 2016-07-04 14:45:38 · 3395 阅读 · 0 评论 -
【matlab】读生成的指定路径下的数据文件并保存到矩阵中
5 8 2 2 2 2 0 4 1 2 0 10 0 10 6 5 0 2 0 8 0 0 3 9 0 0 8 3 0 0 0 问题:将以上保存为.dat文件格式的文件读入文件中,分别用三个矩阵存储结果。准备用fopen命令进行操作,原创 2016-07-01 16:01:44 · 4359 阅读 · 0 评论 -
【matlab】如何产生特定格式的随机数,并保存结果
54 8 96 9 0 9 81 7 0 0 04 0 7 7 00 0 0 0 00 4 0 0 6 0 0问题:如何批量产生如上格式的数据,并保存数据到指定的文件中。第一个数字表示问题规模,第二行数字表示规模数为n的问题随机数,一下部分表示随机生成n*n的随机矩阵。产生随机数后,用一下代码可以实原创 2016-07-01 11:43:51 · 5034 阅读 · 0 评论 -
【matlab】以一定的概率生成随机数
问题:今天在研究中需要以一定的概率产生随机数,要生成一个矩阵c,行标和列标一致时为零,其他情况以概率为p生成[1,10]的正整数,以概率为(1-p)生成0。 找到了一个很好的函数:randsrc(100,1,[alphabet; prob])alphabet表示需要产生的数字,prob表示对应的概率,注意:两者的维数要一致。比如:要产生 1、4、 6这三个数。它们分别出现的概率原创 2016-06-30 17:40:24 · 26145 阅读 · 0 评论 -
【matlab】对每一行数据不等的txt文件读取问题
文件读取方法 目标:读取每一行数字数目不同的纯文本文件。形如: 9 2 8 9 7 3 4 6 8 9 0 0 2 8 7 4 0 1 60 0 8 0 2 7 4 4 62 8 0 2 7 8 0 2 68 0 2 0 5 0原创 2016-06-26 18:05:03 · 14586 阅读 · 0 评论 -
【matlab】怎么记录和保存运行结果-diary 命令
在程序运行过程中,很多时候需要查看运行结果和中间过程,可以用写入txt或者excel文件中。但对于有很多中间过程的情况存在效率不高或者很多中间过程记录困难的问题。我发现了diary这个命令可以很好的解决这个问题。diary这个语句可以以文本文件的形式记录command window 这个窗口显示的运行结果全部记录下来,便于以后的查看。比如要记录一下运行信息:Optimize原创 2016-06-30 09:46:47 · 15153 阅读 · 1 评论 -
使用Matlab产生不重复的随机整数(转载)
在编写启发式算法时,经常面临产生随机数的情况(比如随机产生两个或者三个不同的位置用于后续操作)。困扰我的产生不重复随机数产生有比较简便的方法,记录如下。转载两篇博文。1.matlab之生成不重复的随机整数 网址:https://blog.csdn.net/yq_forever/article/details/75093433使用rand函数生成小数再取整的方法往往会造成数据重复。...转载 2019-07-16 17:17:15 · 6496 阅读 · 0 评论