1、开发前准备
1)下载第三方软件或插件进行安装
openOffice:官方下载:http://www.openoffice.org/download/
百度网盘:http://pan.baidu.com/s/1mpxdL
swftools:官方下载:http://www.swftools.org/swftools-0.9.0.exe
百度网盘:http://pan.baidu.com/s/11O0nS
FlexPaper_1.4.5_flash:http://pan.baidu.com/s/1oXmIL
Linux版本的安装及下载见:《openOffice、swftools安装指南(Linux).doc》
2)下载相关的jar包,如下图:
3)集成插件
解压FlexPaper_1.4.5_flash.zip,将以下文件移植到web目录下,如图
2、编写代码
项目源代码下载:http://pan.baidu.com/s/18AcnQ
readfile.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
</head>
<body>
<form action="uploadServlet" enctype="multipart/form-data" method="post">
<font style="color:red">只支持office文件在线预览,如doc,docx,ppt,pptx,xls,xlxs</font></br>
<input type="file" name="file"/></br>
<input type="submit" value="在线预览">
</form>
</body>
</html>
UploadServlet.java
package servlet;
import java.io.File;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import util.Office2Swf;
publicclass UploadServlet extends HttpServlet
{
privatestaticfinallongserialVersionUID = 1L;
@Override
protectedvoid doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String inputFilePath = this.uploadFile(req);
if (null != inputFilePath && !"".equals(inputFilePath.trim()))
{
String outFilePath = inputFilePath.replace(new File(inputFilePath).getName(), System.currentTimeMillis() + ".swf");
outFilePath = Office2Swf.office2Swf(inputFilePath, outFilePath);
req.getSession().setAttribute("fileName", new File(outFilePath).getName());
}
req.getRequestDispatcher("/readonline.jsp").forward(req, resp);
}
@Override
protectedvoid doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
this.doGet(req, resp);
}
@SuppressWarnings({"unchecked", "deprecation"})
private String uploadFile(HttpServletRequest request)throws ServletException, IOException
{
request.setCharacterEncoding("utf-8");//设置编码
//获得磁盘文件条目工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
//获取文件需要上传到的路径
String path = request.getRealPath("/upload");
factory.setRepository(new File(path));
//设置缓存的大小,当上传文件的容量超过该缓存时,直接放到暂时存储室
factory.setSizeThreshold(1024*1024) ;
//文件上传处理
ServletFileUpload upload = new ServletFileUpload(factory);
String uploadFilePath = null;
//可以上传多个文件
try {
List<FileItem> list = (List<FileItem>)upload.parseRequest(request);
for(FileItem item : list)
{
//获取表单的属性名字
String name = item.getFieldName();
// 表单文本信息
if(item.isFormField())
{
String value = item.getString() ;
request.setAttribute(name, value);
}
// 表单上传的文件
else
{
// 获取路径
String value = item.getName() ;
int start = value.lastIndexOf("\\");
// 截取上传文件名称
String filename = value.substring(start+1);
request.setAttribute(name, filename);
item.write(new File(path,filename));
uploadFilePath = path + File.separator + filename;
}
}
} catch (FileUploadException e) {
e.printStackTrace();
}
catch(Exception ex)
{
ex.printStackTrace();
}
return uploadFilePath;
}
}
Office2PDF.java
package util;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.regex.Pattern;
import org.artofsolving.jodconverter.OfficeDocumentConverter;
import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;
import org.artofsolving.jodconverter.office.OfficeManager;
/**
*
* @author hwl_sz
*
* @desc需要OpenOffice第三插件的支持 ,支持window\linux\mac等系统
*/
publicclass Office2PDF
{
publicstaticfinal String[] OFFICE_POSTFIXS = {"doc", "docx", "xls",
"xlsx", "ppt", "pptx"};
/**
* 根据操作系统的名称,获取OpenOffice的安装目录
* 如我的安装目录:C:/Program Files/OpenOffice 4
*/
privatestatic String getOfficeHome()
{
String osName = System.getProperty("os.name");
if (Pattern.matches("Linux.*", osName))
{
return"/opt/openoffice.org3";
}
elseif (Pattern.matches("Windows.*", osName))
{
return"C:/Program Files/OpenOffice 4";
}
elseif (Pattern.matches("Mac.*", osName))
{
return"/Application/OpenOffice.org.app/Contents";
}
returnnull;
}
/**
* 转换文件
*
* @param inputFilePath 转换的office源文件路径
* @param outputFilePath 输出目标文件路径
*/
privatestaticvoid converterFile(String inputFilePath, String outputFilePath)
{
File inputFile = new File(inputFilePath);
File outputFile = new File(outputFilePath);
// 假如目标路径不存在,则新建该路径
if (!outputFile.getParentFile().exists())
{
outputFile.getParentFile().mkdirs();
}
DefaultOfficeManagerConfiguration config = new DefaultOfficeManagerConfiguration();
// 获取OpenOffice 的安装目录
String officeHome = getOfficeHome();
config.setOfficeHome(officeHome);
// 启动OpenOffice的服务
OfficeManager officeManager = config.buildOfficeManager();
officeManager.start();
OfficeDocumentConverter converter = new OfficeDocumentConverter(
officeManager);
converter.convert(inputFile, outputFile);
System.out.println("文件:" + inputFilePath + "\n转换为\n目标文件:" + outputFile
+ "\n成功!");
officeManager.stop();
}
/**
* 将(.doc|.docx|.xls|.xlsx|.ppt|.pptx)等office文件转化为pdf文件
*
* @param inputFilePath 待转换的源文件路径
* @param outputFilePath 输出的目录文件路径,如果未指定(null),则按在源文件当前目录生成同名的pdf文件
* @return处理结果
*/
publicstaticboolean openOffice2Pdf(String inputFilePath, String outputFilePath)
{
boolean flag = false;
File inputFile = new File(inputFilePath);
ArrayList<String> office_Formats = new ArrayList<String>();
Collections.addAll(office_Formats, OFFICE_POSTFIXS);
if ((null != inputFilePath) && (inputFile.exists()))
{
// 判断目标文件路径是否为空
if (office_Formats.contains(getPostfix(inputFilePath)))
{
if (null == outputFilePath)
{
// 转换后的文件路径
String outputFilePath_new = inputFilePath.toLowerCase().replaceAll("."
+ getPostfix(inputFilePath), ".pdf");
converterFile(inputFilePath, outputFilePath_new);
flag = true;
}
else
{
converterFile(inputFilePath, outputFilePath);
flag = true;
}
}
}
return flag;
}
/**
* 获取文件的后缀名
*/
privatestatic String getPostfix(String inputFilePath)
{
String[] p = inputFilePath.split("\\.");
if (p.length > 0)
{
return p[p.length - 1];
}
else
{
returnnull;
}
}
/**
* @param args
*/
publicstaticvoid main(String[] args)
{
Office2PDF.openOffice2Pdf("E:/黄色地球商务PPT模板.ppt",null);
}
}
Office2Swf.java
package util;
import java.util.regex.Pattern;
/**
*
* @author hwl_sz
*
* @desc需要swftools第三插件的支持 ,支持window\linux\mac等系统
*/
publicclass Office2Swf
{
/**
* 根据操作系统的名称,获取执行pdf->swf文件的命令
* @param pdfFile 转换的pdf源文件路径
* @param swfOutFilePath 输出的swf文件路径
* @return
*/
privatestatic String getCommand(String pdfFile, String swfOutFilePath)
{
String command = null;
String osName = System.getProperty("os.name");
if (null == swfOutFilePath || "".equals(swfOutFilePath.trim()))
{
swfOutFilePath = pdfFile.toLowerCase().replaceAll(".pdf", ".swf");
}
if (Pattern.matches("Linux.*", osName))
{
command = "pdf2swf -f " + pdfFile + " " + swfOutFilePath;
}
elseif (Pattern.matches("Windows.*", osName))
{
command = "C:/Program Files/SWFTools/pdf2swf.exe -t " + pdfFile + " -o " + swfOutFilePath + " -T 9";
}
elseif (Pattern.matches("Mac.*", osName))
{
}
return command;
}
/**
* 将pdf转换swf文件,在线预览
* @param pdfInputFilePath 待转换的pdf源文件路径
* @param swfOutFilePath 输出的swf目标文件路径,如果未指定(null),则按在源文件当前目录生成同名的swf文件
* @return swf目标文件路径
*/
publicstatic String pdf2Swf(String pdfInputFilePath, String swfOutFilePath)
{
String command = getCommand(pdfInputFilePath, swfOutFilePath);
try
{
Process pro = Runtime.getRuntime().exec(command);
pro.waitFor();
return pdfInputFilePath.replaceAll("." + getPostfix(pdfInputFilePath), ".swf");
}
catch(Exception ex)
{
ex.printStackTrace();
}
returnnull;
}
/**
* 将office文件直接转换为swf文件
* @param inputFilePath 待转换的源office文件路径
* @param outputSwfPath 输出的swf目标文件路径,如果未指定(null),则按在源文件当前目录生成同名的swf文件
* @return swf目标文件路径
*/
publicstatic String office2Swf(String inputFilePath, String outputSwfPath)
{
String outputPdfPath = null;
if (null == outputSwfPath || "".equals(outputSwfPath.trim()))
{
outputPdfPath = inputFilePath.replace("." + getPostfix(inputFilePath), ".pdf");
}
else
{
outputPdfPath = outputSwfPath.replace("." + getPostfix(outputSwfPath), ".pdf");
}
boolean isSucc = Office2PDF.openOffice2Pdf(inputFilePath, outputPdfPath);
if (isSucc)
{
outputSwfPath = pdf2Swf(outputPdfPath, outputSwfPath);
}
return outputSwfPath;
}
/**
* 获取文件的后缀名
*/
privatestatic String getPostfix(String inputFilePath)
{
String postfix = null;
if (null != inputFilePath && !"".equals(inputFilePath.trim()))
{
int idx = inputFilePath.lastIndexOf(".");
if (idx > 0)
{
postfix = inputFilePath.substring(idx + 1, inputFilePath.trim().length());
}
}
return postfix;
}
}
readonline.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>在线预览</title>
<script type="text/javascript" src="FlexPaper/js/jquery.js"></script>
<script type="text/javascript" src="FlexPaper/js/flexpaper_flash.js"></script>
<script type="text/javascript" src="FlexPaper/js/flexpaper_flash_debug.js"></script>
</head>
<%-- <%=(String)session.getAttribute("fileName")%> --%>
<body>
<div style="position:absolute;left:10px;top:10px;">
<%-- 指定flexPaper的宽度和高度 --%>
<a id="viewerPlaceHolder" style="width:100%;height:800px;display:block"></a>
<script type="text/javascript">
var fp = new FlexPaperViewer(
'FlexPaper/swfFiles/FlexPaperViewer',
'viewerPlaceHolder', <!--对应于a 标签的id-->
{ config : {
SwfFile : escape('upload/<%=(String)session.getAttribute("fileName")%>'), <!--导入的.swf的路径,文件名称使用英语表示,中文时显示不出来,暂时未解决这个问题-->
Scale : 0.6,
ZoomTransition : 'easeOut',
ZoomTime : 0.5,
ZoomInterval : 0.2,
FitPageOnLoad : true,
FitWidthOnLoad : false,
PrintEnabled : true,<%-- 是否可以打印 --%>
FullScreenAsMaxWindow : false,
ProgressiveLoading : false,
MinZoomSize : 0.2,
MaxZoomSize : 5,
SearchMatchAll : false,
InitViewMode : 'Portrait',
ViewModeToolsVisible : true,
ZoomToolsVisible : true,
NavToolsVisible : true,
CursorToolsVisible : true,
SearchToolsVisible : true,
localeChain: 'en_US'
}});
</script>
</div>
</body>
</html>
效果图
相关推荐
使用Qtconcurrent run 成员函数demo
使用智能手机、智能手表和智能眼镜的人类活动数据集 数据说明: 人类移动性和活动的研究在过去开启了数量惊人的研究,其中大多数包括使用分布在受试者身体上的传感器。最近,智能设备的使用尤为相关,因为它们无处不在,并且带有精确的微型传感器。无论是智能手机、智能手表还是智能眼镜,每种设备都可以用来描述补充信息,如情绪、精确的运动或环境条件。 首先,智能手机主要用于捕获上下文数据。使用两种应用程序:一种是基于SWIPE开源传感系统(SWIPE)的简单数据收集应用程序,以及用于获取用户活动真实数据(TimeLogger)的日志应用程序。SWIPE是一个使用智能手表和智能手机进行传感、记录和处理人类动态的平台。 智能手表主要用来捕捉使用者的心率。运动数据也被收集,但由于需要配置低采样频率,因此不处于数据集的核心,这将极大地增加数据集并消耗电池。使用基于SWIPE的应用程序。 最后,使用JINS MEME智能眼镜。该型号的优点是体积小,携带方便。它没有摄像头或屏幕:它只有三种传感器:加速度计(用于检测步数或活陀螺仪(用于头部运动)和眼动仪传感器(眨眼、眼睛方向)。使用JINSMEME的官方DataLog
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:某大厂资深算法工程师,从事Matlab算法仿真工作10年;擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:某大厂资深算法工程师,从事Matlab算法仿真工作10年;擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:某大厂资深算法工程师,从事Matlab算法仿真工作10年;擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手
22.Android—美图相册系统
1、基于opencv实现 2、基于连通域实现了物品的统计与标色
编译原理课程设计Python实现基于 LR (1) 分析的类 C 语言语法分析器源代码+使用说明 本项目为基于 LR (1) 分析的类 C 语言语法分析器,可以实现针对一种类似 C 语言程序的 Token 序列(由 词法分析器 生成)进行语法分析,给出合法判断、出错位置及大致原因。 本项目提供的默认文法支持除了: 复杂的指针类型(如函数指针,行指针等) 关键字 typedef 及相关的类型定义 编译预处理指令 以外大部分的 C 语言语法规则。此外还有一些额外的关键字
Android开发的入门级教程,介绍如何安装Android环境和android studio,完全入门级,适合新手入门学习,可以加QQ群973763889,一起交流
【简历模板】工作总结、商业计划书、述职报告、读书分享、家长会、主题班会、端午节、期末、夏至、中国风、卡通、小清新、岗位竞聘、公司介绍、读书分享、安全教育、文明礼仪、儿童故事、绘本、防溺水、夏季安全、科技风、商务、炫酷、企业培训、自我介绍、产品介绍、师德师风、班主任培训、神话故事、巴黎奥运会、世界献血者日、防范非法集资、3D快闪、毛玻璃、人工智能等等各种样式的ppt素材风格。 设计模板、图片素材、PPT模板、视频素材、办公文档、小报模板、表格模板、音效配乐、字体库。 广告设计:海报,易拉宝,展板,宣传单,宣传栏,画册,邀请函,优惠券,贺卡,文化墙,标语,制度,名片,舞台背景,广告牌,证书,明信片,菜单,折页,封面,节目单,门头,美陈,拱门,展架等。 电商设计:主图,直通车,详情页,PC端首页,移动端首页,钻展,优惠券,促销标签,店招,店铺公告等。 图片素材:PNG素材,背景素材,矢量素材,插画,元素,艺术字,UI设计等。 视频素材:AE模板,会声会影,PR模板,视频背景,实拍短片,音效配乐。 办公文档:工作汇报,毕业答辩,企业介绍,总结计划,教学课件,求职简历等PPT/WORD模板。
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:某大厂资深算法工程师,从事Matlab算法仿真工作10年;擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手
CSDN海神之光上传的全部代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:Main .m; 数据; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开除Main.m的其他m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 智能优化算法优化ESN回声状态网络分类预测系列程序定制或科研合作方向: 4.4.1 遗传算法GA/蚁群算法ACO优化ESN 4.4.2 粒子群算法PSO/蛙跳算法SFLA优化ESN 4.4.3 灰狼算法GWO/狼群算法WPA优化ESN 4.4.4 鲸鱼算法WOA/麻雀算法SSA优化ESN 4.4.5 萤火虫算法FA/差分算法DE优化ESN
MATLAB仿真是指使用MATLAB软件进行的模拟实验或模拟计算。MATLAB是一个由MathWorks公司开发的数学计算软件,广泛应用于工程计算、数据分析、算法开发、图形可视化以及模型仿真等领域。 在仿真过程中,用户可以通过编写MATLAB代码来创建模型,定义系统参数,设置仿真条件,然后运行仿真来观察系统的行为和性能。MATLAB提供了丰富的工具箱,比如控制系统工具箱、信号处理工具箱、图像处理工具箱等,这些工具箱使得MATLAB在不同领域的仿真工作中更加强大和方便。 仿真可以用于: 1. **预测系统行为**:在实际构建系统之前,预测系统在不同条件下的行为。 2. **测试和验证**:在实际应用之前,测试算法或系统设计的有效性。 3. **优化设计**:通过调整参数来找到最优的系统配置。 4. **教育和培训**:作为教学工具,帮助学生理解复杂系统和概念。 MATLAB仿真通常包括以下几个步骤: - **模型建立**:根据实际系统建立数学模型。 - **参数设置**:定义模型中的参数和初始条件。 - **仿真配置**:选择合适的仿真类型(如时间步长、仿真时间等)。 - **运行
MATLAB仿真是指使用MATLAB软件进行的模拟实验或模拟计算。MATLAB是一个由MathWorks公司开发的数学计算软件,广泛应用于工程计算、数据分析、算法开发、图形可视化以及模型仿真等领域。 在仿真过程中,用户可以通过编写MATLAB代码来创建模型,定义系统参数,设置仿真条件,然后运行仿真来观察系统的行为和性能。MATLAB提供了丰富的工具箱,比如控制系统工具箱、信号处理工具箱、图像处理工具箱等,这些工具箱使得MATLAB在不同领域的仿真工作中更加强大和方便。 仿真可以用于: 1. **预测系统行为**:在实际构建系统之前,预测系统在不同条件下的行为。 2. **测试和验证**:在实际应用之前,测试算法或系统设计的有效性。 3. **优化设计**:通过调整参数来找到最优的系统配置。 4. **教育和培训**:作为教学工具,帮助学生理解复杂系统和概念。 MATLAB仿真通常包括以下几个步骤: - **模型建立**:根据实际系统建立数学模型。 - **参数设置**:定义模型中的参数和初始条件。 - **仿真配置**:选择合适的仿真类型(如时间步长、仿真时间等)。 - **运行
前端分析-202307110034
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:某大厂资深算法工程师,从事Matlab算法仿真工作10年;擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:某大厂资深算法工程师,从事Matlab算法仿真工作10年;擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手
华为CX镜像包主要是用于华为云计算平台(如FusionSphere)中的虚拟机部署和管理。它包含了操作系统、驱动程序、预装应用和服务环境等必要的组件,用户可以根据具体的业务需求选择合适的镜像模板,快速创建并配置虚拟机实例。通过这种方式,可以简化IT运维,提高效率,并且方便地进行软件更新和维护。
原始ISET,用作ISETIO的基础 相机(Cam)的图像系统工程工具箱(ISET)。ISETCam是基础存储库。它包括其他ISET存储库用于表示场景、光学、能量、量子、颜色和软件实用程序的基本例程。ISETCam是运行ISETBio和大多数其他ISET存储库(如ISET3D、ISETAuto、ISETLens)所必需的。 原始ISET的开源版本,用作ISETIO的基础
CSDN海神之光上传的全部代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:Main .m; 数据; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开除Main.m的其他m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 智能优化算法优化ESN回声状态网络分类预测系列程序定制或科研合作方向: 4.4.1 遗传算法GA/蚁群算法ACO优化ESN 4.4.2 粒子群算法PSO/蛙跳算法SFLA优化ESN 4.4.3 灰狼算法GWO/狼群算法WPA优化ESN 4.4.4 鲸鱼算法WOA/麻雀算法SSA优化ESN 4.4.5 萤火虫算法FA/差分算法DE优化ESN