【matlab】关于批量随机生成数据和批量保存运行结果
来源:互联网 发布:php短信接口类型 编辑:程序博客网 时间:2024/06/03 23:03
在科研中,如果算例非常多(几十上百个),安装一定的排列规则随机生成算例,运行后对结果进行分析的时候,如果能对算例随机生成,对运行结果批量保存到excel中,可以大大提高科研的效率。现将我的一些程序分享一下。大家可以借鉴一下整体的框架。
批量产生随机算例,并且保存到以一定规则命名的文件中:
clc
clear all
file_n=[5 10 15 20 25 30 35 4045 50 55 60];
file_p=[30 60 90];
file_m=[1 2 3];
tic
for n_i=1:length(file_n)
for p_i=1:length(file_p)
for m_i=1:length(file_m)
n=file_n(n_i);
p=file_p(p_i);
prob=[p/100,1-p/100];
l=round(rand(1,n)*19+1);
for i=1:n
for j=1:n
if i==j
c(i,j)=0;
else
a=round(rand(1,1)*9+1);
b=[a 0];
c(i,j)=randsrc(1,1,[b;prob]);
end
end
end
filename=['E:\,'n_',num2str(file_n(n_i)),'_p_',num2str(file_p(p_i)),'_',num2str(file_m(m_i)),'.dat'];
fid=fopen(filename,'w');
fprintf(fid,'%d',n);
fprintf(fid,'\n');
fprintf(fid,'\n');
fprintf(fid,'%d\t',l);
fprintf(fid,'\n');
fprintf(fid,'\n');
for i=1:n
for j=1:n
fprintf(fid,'%d\t',c(i,j));
if j==n
fprintf(fid,'\n');
end
end
end
fclose(fid);
end
end
end
toc
批量运行程序,把结果保存到excel中:
与生成算例类似,可以先将数据读入matlab中,并且以变量的形式读入,运行结果保存到excel中便于后期的分析整理。
clc
clear all
diary('E:\diary.txt');
diary on
file_n=[5 10 15 20 25 30 35 4045 50 55 60];
file_p=[30 60 90];
file_m=[1 2 3];
for n_i=1:length(file_n)
result=[];
time=[];
for p_i=1:length(file_p)
for m_i=1:length(file_m)
f=[];
filename=['E:\','n_',num2str(file_n(n_i)),'_p_',num2str(file_p(p_i)),'_',num2str(file_m(m_i)),'.dat'];
disp(filename);
fid=fopen(filename);
n=str2num(fgetl(fid));
fgetl(fid);
l=str2num(fgetl(fid));
fgetl(fid);
for i=1:n
A{i}=fgetl(fid);
f(i,:)=str2num(A{i});
end
fclose(fid);
……………………算法程序………………
cpu_time=output.solvertime
% output.yalmiptime
result=[result;res_obj]
time=[time;cpu_time]
end
end
if file_n(n_i)==5
xlswrite('E:\result.xlsx',result,sheet1,'C2:C10');
xlswrite('E:\result.xlsx',time,sheet1,'D2:D10');
elseif file_n(n_i)==10
……………………(类似的读入)…………
end
end
diary off
- 【matlab】关于批量随机生成数据和批量保存运行结果
- matlab批量保存图像
- matlab 批量读取和保存文件
- 批量随机生成身份证号码
- 批量保存,批量插入数据
- hibernate 批量保存数据
- 批量保存数据
- matlab批量读入数据
- 批量梯度下降和随机梯度下降matlab 实现
- Java 批量随机生成身份证号码
- Java随机生成批量Ip
- 【BAT】批量测试运行结果
- 【BAT】批量测试运行结果
- 批量生成随机手机号码的存储过程和自定义函数
- 【postgresql】批量生成数据
- 用Matlab批量生成图片
- matlab生成随机数据
- MATLAB:批量随机抽取一定数量的图片
- HTML5+规范:navigator(管理浏览器运行环境信息)
- Libevent使用例子,从简单到复杂
- 将博客搬至CSDN
- 远程连接linux的mysql服务报错10061的解决方案
- 基于SimpleAdapter与BaseAdapter的不同ListView实现
- 【matlab】关于批量随机生成数据和批量保存运行结果
- spine 动态换皮功能
- C++封装队列
- Leetcode上List问题的总结(持续更新)
- java关键字this用法总结
- Mac下抓包工具Charles初步使用
- 红黑树--(上)
- 最长递增子序列A (完美2017实习生)
- 通过new Scanner(System.in)创建一个Scanner,命令行输出