基于Matlab web server的信号与系统网络试验平台建设系统分析模块.doc_第1页
基于Matlab web server的信号与系统网络试验平台建设系统分析模块.doc_第2页
基于Matlab web server的信号与系统网络试验平台建设系统分析模块.doc_第3页
基于Matlab web server的信号与系统网络试验平台建设系统分析模块.doc_第4页
基于Matlab web server的信号与系统网络试验平台建设系统分析模块.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BY15 4063 09/10/2 15-0602沈阳化工大学本科毕业论文题 目:基于Matlab web server的信号与系统网络试验平台建设系统分析模块 院 系: 信息工程学院 专 业: 电子信息工程 班 级: 0602 学生姓名: 李娇 指导教师: 赵立杰 论文提交日期: 2010 年 06月 25日论文答辩日期: 2010 年 06月29 日内容摘要随着Internet的日益普及,网络的作用越来越强大且其功能也朝着多元化的方向发展,目前,Matlab web server已经被应用于异地调用方面,但在网上实验室系统中还未得到广泛应用.本文通过Matlab Web服务代理,使得在Web环境下调用Matlab成为可能.基于MATLAB web server的远程仿真系统,即利用了HTML语言可方便编写丰富多彩页面的优点,又发挥了MATLAB强大的工程计算能力,非常方便地实现了异地软件资源的调用,降低了对用户端系统环境和学习者编程能力的要求,在远程教学仿真和虚拟实验中都有广阔的应用前景.世界各地的人们只需通过Internet将数据发送给Matlab Web服务器,借助Matlab的强大计算与图形展示功能,可很容易地获得计算结果.这一技术的开发将对远程教学具有深远的意义,特别是我国目前国力还不是特别雄厚的前提下大力提倡远程络教育,这一技术势必能大大减少相应的教育资源,同时也使远程学员能方便快捷地通过网络互动式地掌握需复杂计算及图形展示相关的课程.本文首先介绍了课题背景和研究意义,发展现状,开发目标,设计了信号与系统的总体结构,从五个模块进行分析以及各个模块功能的实现过程.研究了基于Matlab web server的开发过程和环境的配置,最后进行了结果的测试和分析.关键字:信号与系统,Matlab Web Server,远程教学AbstractWith the increasing popularity of the Internet, network effect and its function are more powerful towards the direction of development of diversified, and Matlab web server has been applied in different ways, but online call laboratory system also has not been widely used.Based on Matlab, Web service agency in the Web environment with Matlab possible. Cut the Web server based on Matlab simulation system, remote using HTML pages can write the advantages of rich and colorful, and played a strong ability of Matlab calculation, very convenient to realize the different software resources, reduce the call for client-side system environment and learners programming ability request, in the distance teaching simulation and virtual experiment have broad application prospects. People around the world through the Internet will only data sent to Matlab, the Web server by Matlab calculation with strong graphic display function, can be easily obtained results. This technology development of distance teaching will have far-reaching significance, especially in our country at present is not particularly strong strength of remote education, advocate the collaterals XiaDaLi this technology will greatly reduce the corresponding education resources, but also makes the distance students can be quickly through the network to grasp the complex interactive graphic display related calculation and the course.This paper introduces the background and significance of the research topic, the development situation, development target, the overall structure of signal and system analysis, from five modules, and the realization of the function of each module. Based on the research of the web server Matlab environment and the development process of the configuration of the results of test and analysis.Key words: signal and system, and Matlab Web Server, distance education目 录第1章 绪 论11.1课题研究背景及意义11.2基于Matlab web server的信号与系统发展现状11.3 Matlab web server的开发目标21.4本文主要内容2第2章 Matlab web server的信号与系统实验平台系统设计32.1信号与系统实验平台的需求分析32.1.1业务需求分析32.1.2技术需求分析32.2 Matlab web server信号与系统网络实验系统的总体设计32.2.1 Matlab web server总体功能设计42.2.2 Matlab Web Server的体系结构62.3 MATLAB Web Server的工作原理62.4模块设计82.4.1 连续和离散系统的时域分析82.4.3 连续和离散系统的复频域分析102.4.2 连续和离散系统的频域分析13第3章 Matlab web server的信号与系统实验平台系统开发163.1 Matlab Web Server的环境配置163.1.1 matlab web server配置163.1.2IIS6.0的安装173.1.3 IIS Web 服务器配置193.1.4 Matlab web代理服务器的配置223.2 创建输入输出HTML文件233.2.1 创建输入HTML文件233.2.2 创建输出HTML文件233.3 创建MATLAB Web 应用程序M文件243.3.1 M文件模块组成243.3.2 M文件开发流程24第4章 信号与系统软件测试28第5章 结论和展望295.1 工作总结295.2 工作展望29致谢31沈阳化工大学学士学位论文 第1章 绪论第1章 绪 论1.1课题研究背景及意义随着高校规模的不断扩大,在校学生越来越多,并随着现代教育技术的飞快发展远程教育和网络学习也越来越被人们三所接受,这对教育手段和方法提出了挑战.而工程学科中实验是很重要的一项.传统的实验手段不能满足现代教学的需要.为了改变这一局面.虚拟实验的概念应运而生.虚拟实验是指利用仿真技术、数学建模技术和多媒体技术等在计算机上所营造的辅助、部分替代甚至全部替代传统实验各操作环节的相关操作环境.它是一种创新性教学于段借助多媒体这一现代化的教育技术将教材中抽象的数学模型与实际电路结构形象的结合起来,达到理论和实际的一种虚拟互动,形成创新性教学的理论与实践相结合的模式”.本系统是基于Matlab和Web的控制系统的仿真平台的开发. 该课题的背景为信号与系统实验平台建设,以系统分析模块为主要研究对象,使用户通过网络对信号与系统实验平台建设的系统部分进行调试和控制,远程仿真控制实验室中的仿真模块的功能主要体现在负责结合远程用户输入所设置的PID参数,在后台惊醒仿真计算,将接受的PID参数值带入到拉氏传递函数模型中,计算出时域响应曲线,并以图表或图形的方式将计算出的结果显示给用户,使其观看所设置参数的具体仿真效果,仿真控制模块的实现即采用Matlab,利用其现成的控制工具箱Matlab Web Server结合http服务器实现以上工作.1.2 基于Matlab web server的信号与系统发展现状在实现基于网络的Matlab仿真数据的调用问题上,主要运用了以下方法:(1) 把Matlab信号仿真源程序及产生的数据和曲线制作成固定格式的图片,保存在服务器端供用户调用.该方法可以使客户端直接用浏览器浏览信号仿真结果,无须安装和运行Matlab软件,但无法实现数据的动态交互.(2) 在服务器端编写MatIab信号仿真程序,并以M文件格式保存在服务器中,供客户端下载.该方法客户端不能直接利用浏览器浏览结果,必须下载到本地后方能运行使用,且用户计算机上必须安装Matlab软件.因此,软件运行速度受限制,数据也无法实现动态交互,使用不方便.由此可见,现有的“信号与系统”教学课件在仿真和数值计算上还存在着较大的缺陷,有必要利用Matlab的网络服务功能,开发出真正意义上的可实现动态交互的在线仿真软件.笔者开发了“信号与系统”仿真实验系统,以可视化的分析方法,为学生提供直观的分析结果,可以克服该课程中概念抽象、数学推导和计算繁杂等问题.利用Matlab提供的Matlab Web服务器,通过HTTP协议,在安装Web服务器的主机上提供Matlab计算的远程服务,实现浏览器服务器的运行模式.1.3 Matlab web server的开发目标世界各地的人们只需通过Internet将数据发送给Matlab Web服务器,借助Matlab的强大计算与图形展示功能,可很容易地获得计算结果.这一技术的开发将对远程教学具有深远的意义,特别是我国目前国力还不是特别雄厚的前提下大力提倡远程络教育,这一技术势必能大大减少相应的教育资源,同时也使远程学员能方便快捷地通过网络互动式地掌握需复杂计算及图形展示相关的课程.1.4 本文主要内容远程信号分析技术是基于网络的信号处理技术,它是利用网络在异地对远程设备实施信号采集、监控、测试并进行信号分析的技术.它可以应用于虚拟实验室教学、电磁频谱管理、故障诊断等很多方面,主要由远程客户端数据的采集、传输、结果显示和服务器端信号分析编程等环节组成,而如何在网络上高效、实时地处理客户端的数据是远程信号处理的核心.讨论了基于Matlab Web Server的Matlab网络应用开发原理,介绍了Matlab Web程序处理的一般流程和相关配置文件的详细配置方法,并给出Matlab Web开发中的两个关键问题:通过输入模块从HTML页面获取输入参数和通过输出模块生成包括输出数据和图片的HTML文件.利用Matlab Web Server环境实现了远程控制实验室的控制效果仿真,并以二维图形的输出形式显示仿真结果,为网上控制实验室的建立提供了控制参数选择以及试验结果验证参照.本远程数据处理方法可推广应用到不同的远程数据处理领域,具有很高的推广价值.31沈阳化工大学学士学位论文 第2章 Matlab web server 的信号与系统实验平台系统设计第2章 Matlab web server的信号与系统实验平台系统设计2.1信号与系统实验平台的需求分析2.1.1业务需求分析信号与系统实验平台即是基于上述教学现状和应用背景而开发的与信号与系统教学大纲相配套的计算机辅助教学.该平台实现了在交互式的实验环境中,用教学辅助软件帮助学生完成信号与系统分析的可视化建模及仿真调试,充分利用计算机的特点,如文字、声音、动态图形及友好的人机界面,用生动直观的二维曲线、三维曲面图表达课程中抽象的概念和理论,使学生在可视化的环境中掌握和理解所学知识,从而有效地提高“信号与系统”课程的教学效果.还可以实现多媒体的教学,是信号与系统实验更能让学生理解.2.1.2技术需求分析通过MATLAB Web Server实现网上实验,不必在客户端安装MATLAB软件,不管在何时何地,只要有浏览器,只要网络通畅,在浏览器中输入要访问的服务器地址,就可以在线浏览实验的全过程;科研人员不必知道太多有关MATLAB编程的知识,只需要知道要得到什么样的实验数据,选取相关实验即可.其出现极大的方便了教学和科研,对教学和科研展现了新的模式.2.2 Matlab web server信号与系统网络实验系统的总体设计远程虚拟实验系统的总体目标是设计实现一个瓦联网上的虚拟实验室环境该虚拟环境应该具有可视化、全交瓦、资源共享、仿真程度高、安全性高等特点.系统在功能上应能提供院校学生自动控制原理课程相关的大部分实验,性能上应该能支撑大量用户同时访问,方便维护、升级,真正突破地域和时间上的限制,达到远程实验教学目的的1.图2.1 五个实验模块总体把实验分为5个部分,每一个大的方向为一个模块,最后生成一个功能模块.,最后把所有的模块都定好,做成一个主界面,使用主界面能把所有的模块联系在一起,就成了我们最后要得到的信号与系统实验平台2.2.1 Matlab web server总体功能设计 网络功能实现3用于定义函数的输入、输出,其主要代码如下:function s = triangle(h)mlid = getfield( input,mlid);%获取matlabserver标识符cd( input.mldir );%设置路径wscleanup(ml*trtangle.jpeg,1);%自动清除1小时前的图形文件a = str2double(h.a);%b = str2double(h.b);c = str2double(h.c);time = str2double(h.d);代码“mlid = getfield(input,mlid);”让系统从结构体input 中获得mlid 的值.mlid 是matlabserver 自动提供的标识符.使用mlid 来命名文件名保证了文件名的唯一性,不会因为另一个程序运行时产生了图形而被立刻替换;代码“cd( input.mldir )”,为产生的图形文件设置存储路径;代码“wscleanup(ml*triangle.jpeg,1)”的功能是系统动态的把1小时之前用户远程仿真时生成的名称以“ml”开头,以“triangle”结束的某些存在服务器硬盘上的过时图形文件删除2. 运算功能的实现完成主要运算功能的Matlab 程序段是M 文件的实体部分,它与直接用matlab 软件进行仿真的实体部分基本相同.Function rs=triangle(h)t=0:step:time;if (isfield(h, type)type = getfield(h, type);f strcmp(type, sin);y=a*sin(b+c*t);plot(t,y); elseif strcmp(type, cos);y=a*cos(b+c*t);plot(t,y);elsey1=a*cos(b+c*t); y2=a*sin(b+c*t); y3=a*tan(b+c*t); y4=a*cot(b+c*t);plot(t,y1,-ro,t,y2,-.b,t,y3,-r*,t,y4,-gb);h = legend(sin,cos,tan,cot,3); axis equal;endend 绘图部分生成的图形不是直接从弹出窗口显示,而是生成jpeg 格式的图象文件,通过输出网页显示给用户,并与建立的初始输出网页上的图形安排一一对应.图形的产生和处理的主要程序如下:%用于调整图形的大小;f=figure(visible,off);pos=get(gcf,position);set(gcf ,position,pos,paperposition,.25 .25 20 12);% 刷新事件队列并更新图形窗口drawnow ; s.GraphFileName =sprintf(%swebtriangle.jpeg,mlid);wsprintjpeg(f,s.GraphFileName);s.GraphFileName=sprintf(/icons/%swebtriangle.jpeg,mlid);close all;%服务器运行仿真程序生成的图形输出到网页上templatefile =which(webtriangle2.html);rs=htmlrep(s,templatefile)7;2.2.2 Matlab Web Server的体系结构基于Matlab Web Server 的信号与系统实验系统,用户通过Web浏览器上的HTML网页向服务器发送数据,服务器接收用户数据并进行计算分析,然后把运行结果(数据或图片)返回到客户端的浏览器并显示,整个系统的工作流程如图3所示6.2.3 MATLAB Web Server的工作原理MATLAB Web Server 主要由两部分组成,一部分是MATLAB Web 服务器,它实际上是一个可执行的应用程序matlabserver.exe.Matlab Web服务器是一个多线程可执行的TCP/IP应用程序matlab server.exe,是Matlab应用程序运行的服务器环境,负责管理Web应用与Matlab间的通讯;另一部分是Web 服务器代理.Web服务代理是一个可执行程序Matweb.exe,是Matlab Web服务器的TCP/IP客户端,同时也是Web的CGI扩展,它将对Matlab的请求重新定位到matlabserver.exe进行处理.Matweb.m是要调用的Matlab应用程序.在具体实现时,还必须对MATLAB Web 的服务代理与服务程序进行适当的配置,这分别通过文件matweb.conf 与matlabserver.conf 来实现.系统要提供WWW 服务,就必须要有一个Web服务器.首先浏览器客户通过TCP/IP 协议请求Web 服务器中的文档,请求首先传给MATLAB Web 服务代理,而MATLAB Web 服务代理筛选所有的请求,如果是MATLAB Web 请求,则通过配置文件matweb.conf 找到对应的MATLAB Web Sever,将所有对MATLAB 的请求重定向到matlabserver.exe 进行处理,否则由标准的Web 服务器进行处理.Matlabserver.exe 读取matweb 传送来的参数,调用MATLAB 执行指定的脚本文件,并将产生的结果中的文字部分利用变量传递给matweb,图片部分则存贮在Web 服务器能读取的目录内.matweb.exe 根据输出模板,将从matlabserver 传回的变量值填入到指定范围内,由此构造出输出网页文件.Web 服务器将matweb 生成的页面文件和图形文件返回客户端浏览器,并在浏览器上显示结果.Matlab server通过调用matlab.m来处理HTML网页中隐含字段mlmfile所指定的M文件,在web网页、matlab、M文件三者之间建立起联系11. 如图4图2.2 Matlab web server工作原理图2.4 模块设计 图2.3 五个模块实验模块可以转换成三大部分,包括:连续和离散系统的复频域分析;连续和离散系统的频域分析;连续和离散系统的时域分析2.4.1 连续和离散系统的时域分析以LTI系统特性为例,如图2.4:图2.4 LTI系统特性单位冲击响应仿真进入下一步:图2.5 单位冲击响应反映2.4.3 连续和离散系统的复频域分析 实验目的掌握连续系统复频域分析掌握离散系统复频域分析 实验内容连续系统和离散系统的系统函数将微分方程转化为系统函数,并求冲激响应和阶跃响应 % 阶跃响应和冲激响应syms Hs Ht t sHs=s/(s2+5*s+6);Ht=ilaplace(Hs);Gt=int(Ht,t,0,t)Ht=simplify(Ht)Gt=simplify(Gt)subplot(211);ezplot(Ht)subplot(212);ezplot(Gt)同理求:差分方程和系统函数之间的转换% 离散系统 y(n+2)-3y(n+1)+2y(n)=x(n+1) 阶跃响应和冲激响应syms Hz Hn n z GnHz=z/(z2-3*z+2);Hn=iztrans (Hz);Gn=int(Hn,n,0,n)Hn=simplify(Hn)Gn=simplify(Gn)subplot(211);ezplot(Hn)subplot(212);ezplot(Gn)同理求下列差分方程的h(t)和g(t)零输入响应、零状态响应和全响应在MATLAB中,已知差分方程的系数,输入,初始条件,调用filter()函数解差分方程调用filter()函数的格式为:y=filtier(b,a,x,xic),参数x为输入向量(序列),b,a分别为差分方程系数,xic是等效初始状态输入数组(序列).确定等效初始状态输入数组xic(n),可使用Signal Processing toolbox中的filtic()函数,调用格式为:y=filtic(b,a,y,x) .其y=y(-1),y(-2),y(-N),x=x(-1),x(-2),x(-M) .已知差分方程 ,式中x(n)= ,y(0)=2 ,y(1)=1 ,分别求零状态响应,零输入响应和全响应y,分析该系统的稳定性.% 零输入响应den =1 3 2;%分母多项式系数num =1;%分子多项式系数n=0:5;n1=length(n);y01= 2 1;%初始条件x01= 0 0;x1=zeros(1,n1);xzi=filtic(num,den,y01,x01)yzi=filter(num,den,x1,xzi)% 零状态响应y02= 0 0;x02= 0 0;x2=(0.2).n;%外加激励xzs=filtic(num,den,y02,x02)yzs=filter(num,den,x2,xzs);% 全响应y0= 2 1;%初始条件x0= 0 0;x=(2).n;%外加激励xz=filtic(num,den,y0,x0)y=filter(num,den,x,xz);%直接将差分方程Z变换后代入X(z)求出Y(z),反变换求出x(n).% 画图输出零状态响应,零输入响应和全响应subplot(311); stem(n,yzi);title(零输入响应);xlabel(序列n);ylabel(yzi(n)subplot(312); stem(n,yzs);title(零状态响应);xlabel(序列n);ylabel(yzs(n)subplot(313); stem(n,y);title(全响应);xlabel(序列n);ylabel(y(n)已知,,初始状态y(0)=1 y(0)=1;求系统零状态响应.% 零输入响应num=1 0 ;den=1 5 6 ;sys=tf(num,den);t=0:0.01:3;sys1=ss(sys);y=1 1 ;u=zeros(1,length(t);rzi=lsim(sys1,u,t,y);%subplot(311);plot(t,rzi);title(零输入响应yzi(t);ylabel(rzi(t)% 零状态响应 syms s ff=ilaplace(3/(s+2)*(s+3);t=0:0.01:3;rzs=3*exp(-2*t)-3*exp(-3*t)9; 2.4.2 连续和离散系统的频域分析 实验目的了解连续和离散时间系统的单位脉冲响应掌握连续时间系统的频率特性 实验原理频域分析将激励信号分解为无穷多个正弦分量的和.,R()为傅里叶变换;各频率分量的复数振幅激励各函数说明:impulse 冲激响应函数:Y,X,T=impulse(num,den);num分子多项式系数; num=b(1) b(2) b(n+1);den分母多项式系数; den=a(1) a(2) a(n+1);Y,X,T分别表示输出响应,中间状态变量和时间变量;如:,等价于定义den=1 5 3;num=1 2;Y,X,T=impulse(num,den);step 阶跃响应函数:Y,X,T=step(num,den);num分子多项式;den分母多项式Y,X,T分别表示输出响应,中间状态变量和时间变量;如:,den=1 5 3;num=1 2;Y,X,T= step (num,den);impz 数字滤波器的冲激响应 h,t = impz(b,a,n) b分子多项式系数;a分母多项式系数;n采样样本h 离散系统冲激响应;t冲激时间,其中t=0:n-1, n=length(t)时间样本数freqs 频域响应 h,w = freqs(b,a,f)b,a定义同上,f频率点个数h频域响应,w频域变量 实验内容连续时间系统的冲激响应和阶跃响应% sys = tf(num,den)a=1 5 3;b=1 2; %a,b分别为分子和分母多项式系数subplot(2,1,1)Y1,X1,T1=impulse(b,a);plot(T1,Y1);title(系统的冲激响应波形h(t)subplot(2,1,2)Y2,X2,T2=step(b,a);plot(T2,Y2);title(系统的阶跃响应波形g(t)要求:写出本程序的系统函数H(w)系统函数为,其中n为学号末尾两位,试画出连续时间系统的冲激响应和阶跃响应图形离散时间系统的单位脉冲响应a=1 -2 0.8;b=5 3;k1=0;k2=10;k=k1:k2;impz(b,a,k);% impz为离散系统单位脉冲响应title(离散时间系统的单位脉响应)xlabel(n)ylabel(h(n)要求:1)写出本程序的系统函数H(n);2)系统函数为,其中n为学号末尾两位,试画出离散时间系统的单位脉冲响应连续时间系统的频率特性% 用MATLAB的freqs函数绘出给定系统的频率响应a=1 2 3;b=2 1;w = logspace(-1,1);h,w=freqs(b,a,w) %求系统响应函数H(jw),设定h个频率点mag =abs(h); %求幅频响应phase=angle(h); %求相频响应subplot(2,1,1);loglog(w,mag);grid on;xlabel(角频率(W);ylabel(幅度);title(H(jw)的幅频特性);subplot(2,1,2);semilogx(w,phase);grid;xlabel(角频率(w);ylabel(相位(度);title(H(jw)的相频特性);要求:1)写出本程序的系统函数H(w);2)系统函数为,其中n为学号末尾两位,试画出连续时间系统的频率特性沈阳化工大学学士学位论文 第3章 Matlab web server 的信号与系统实验平台系统开发第3章 Matlab web server的信号与系统实验平台系统开发3.1 Matlab Web Server的环境配置3.1.1 matlab web server配置 安装程序在/Webserver目录下创建一个matlabserver.conf件,matlabserver.conf 的设置内容分为两部分:端口号p;可同时并发运行的最大线程数m.安装后,该文件中只有一行: - 1, 即表示端口号为默认值8888,同时并发的最大线程数为1,可以根据需要改变其数目.若端口号改变了,则matweb.conf配置文件中设置的端口号也要相应改变,使两者端口一致. 设置CGI的执行权限,matlabserver是通过CGI方式工作的,为了让IIS使用CGI程序,必须打开CGI权限. 在web服务器中创建两个虚拟目录: /cgi-bin、/icons,将它们和web服务器主目录一起指向/toolbox/webserver/wsdemos,从而可以让演示程序工作. 每增加一个MATLAB Web应用,都需要在matweb.conf中增加一项配置.在matweb.conf中增加如下内容:文件名 /*M文件名*/mlserver= /*服务器 IP地址*/mldir=c:/matlab/toolbox/webserver/wsdemos /*MATLAB程序及图片保*/调用MallabWeb Server.要事先对应用程序信息表matwebconf文件进行配置,将所有即将由网页调用的M文件进行列表.mlrver=21924615186mIdir=-DJMatlabtoolboxwebserverwsdemosJpietures其中dxhj是应用程序名;ndserver=21924615186是设置服务器名称或IP(示例用于单机测试);mldir=-D:MatlabtoolboxwebserverwsdemoUpictures是设置Matlab程序的路径,一旦指定.系统会自动将该目录所指定的路径加人到Matlab的系统路径中 IIS6.0的安装图3.1 更改或删除图3.2 windows组件向导图3.3 应用程序服务器图3.4 安装界面至此,iis 安装完成.关闭 填加删除程序 窗口.我们依次单击 开始 管理工具 Internet 信息服务(IIS)管理器 ,弹出如下图3.5:图3.5 信息服务IIS管理器3.1.3 IIS Web服务器配置安装Matlab 7.0 时,确认安装了Matlab web server扩展. 然后执行以下步骤. 首先,创建一个新的网站,根目录为wsdemos,这个目录原来在toolboxwebserver下,也可以把它拷贝到其他地方.Web服务器的具体设置如下: 在wsdemos下创建cgi-bin目录,虚拟或物理的都可以,将matweb.exe和matweb.conf拷贝到里面,并设定此目录权限为可以执行脚本和应用程序. 在wsdemos下创建icons目录,虚拟或物理的都可以,将wsdemos目录下的图片文件移入其中,并设定此目录拥有写权限. 图3.6 文件夹属性Cgi-bin和icons文件夹属性 安全 中添加 Everyone 角色,使其具有 完全控制权限. 图3.7 权限设置 在IIS设置的web服务扩展中增加一个允许的web服务扩展,指定要求的文件为matweb.exe,扩展名随便取一个,也就是设置CGI的执行权限,matlabserver是通过CGI方式工作的,为了让IIS使用CGI程序,必须打开CGI权限.图3.8 Web服务扩展3.1.4 Matlab web代理服务器的配置由于matweb.conf提供了matweb.exe连接matlabserver所需要的配置信息,必须和matweb.exe程序放在同一虚拟目录中.在新建Web站点的根目录下,建立Matlab代理服务器配置文件Matweb.conf和Matlab服务器配置文件Matlabserver.conf,并对其进行配置.格式如下:应用程序名mlserver=服务器名mldir=应用程序所在的路径例如:Matweb.conf的内容如下:webpeaksmlserver = mldir = 其中,“webpeaks”是用matlab 语言所编写的仿真过程中所调用的M 文件名;“mlserver”的值为服务器的主机名或网络服务IP地址号;“mldir”的值“ ”为所调用的程序在站点目录下的路径.每增加一个MATLAB Web应用,就需要增加一项上述配置.该文件可以直接使用记事本进行编辑修改.3.2 创建输入输出HTML文件3.2.1 创建输入HTML文件输入网页是用户和服务器进行交互的接口.用户通过网页输入请求和参数,然后由网页将相应内容传送到服务器,因此,首先要建立输入页面,可以直接使用html脚本语言,也可利用Dreamweaver、Frontpage等开发工具来实现.输入文件除了常规网页的基本内容之外,还必需包含有请求MATLAB Web服务的HTML表单文档,关键代码如下: action参数指定了处理这个表单的MATLAB Web服务程序路径. 设置一隐藏输入框mlmfile(参数名固定),其值为将在MATLAB Web服务程序中运行的m文件的文件名. %创建“提交” 按钮.输入页面制作完成后,存人虚拟目录C:apacheApache2htdocs之下,这样在地址栏输入主机名或IP地址后再输入页面名称就可浏览到此页面.HTML输入页用来请求MATLAB Web服务,主要方面的功能,一方面是接收浏览器用户的输入,这与一般应用的处理方法相同,可以通过HTML的表单来实现;另是设置一个特殊的标志,将该请求重定向到MATLAB Web server代理进行处理,它的实现方法也与一般的CGI程序调用不同.3.2.2 创建输出HTML文件输出网页将仿真结果返回给用户并显示,输出页面主要采用HTML文件编写.该文件即是M文件中用到的输出模板,包含页面布局、文字说明等信息,其中用到MATLAB程序输出变量的地方都用$var_ name$的形式表示.上述htmlrep的其中一个功能就是将$var_name$形式的变量转换为实际数据.如果输出结果包含有图片,则输出HTML文件中要事先写好,而图片的文件名也作为输出变量保存在outstruct中.以上文件中,最重要的是标记“$.$”中包含的变量部分,在Matlab程序中,通过调用函数Htmlrep使输出结构中相应的变量值对这些标记进行替换.3.3 创建MATLAB Web 应用程序M文件3.3.1 M文件模块组成MATLAB Web Server应用程序是M文件、超文本置标语言(HTML)和图形的组合,因此需要Matlab编程和基本HTML知识.M文件用于接收、处理输入文件输入的数据,并将计算结果送给输出HTML文件.MATLAB Web应用程序主要由网络功能部分程序段、主运算程序段和结果程序段三大部分组成. 网络功能部分程序段主要完成初始化返回参数、设定工作目录和接收输入文件的输入参数等功能. 主运算程序段主要根据输入数据进行相应操作,产生结果,代码与直接用matlab软件进行仿真的实体部分基本相同. 结果程序段首先将计算结果写入到结构outstruct中,如:outstruct.z=z;然后调用htmlrep函数将结果返回给输出文件,格式为:Function outstring=htmlrep (outstruct,temlatefile) ;其中templatefile是一个预先编制好的输出HTML文件1 M文件开发流程M 文件的基本结构分为:网络功能部分程序段、主运算程序段、图形生成程序.M 文件是一个被网页调用的程序,它是一个函数式M文件.函数定义格式为:function retstr=函数名(instruct, outfile)其中,restr是返回的字符串,instruct是一个struct类型的结构变量,包含该Matweb程序传送来的参数和该程序的工作目录,所有域都是字符串形式的,可以用str2double函数转换为数值类型5.基于Matlab Web Server 的M文件开发流程主要由四个基本部分组成:处理输入数据和计算结果的M 文档;向Matlab 提交数据的HTML 输入文档;显示Matlab 计算结果的HTML 输出文档;配置文件matweb . conf.下面是一段简单的实例代码.m文件的编程,例如MATLAB安装目录中自带的dresponse.m文件,在源文件中有详细注释,由于篇幅有限不在赘述function rs = dresponse(h)%dresponse full response for discrete system% RS = dresponse(H) creates a zeros state response, zeros input responseand full response plot and% returns HTML output in string RS. Handle H is the% structure created by matweb. It contains variables% from the HTML input form in dresponse.html.% Get unique identifier (to form file name)mlid = getfield(h, mlid);% Set directory path for storage of graphic files.cd( h.mldir);target% Cleanup jpegs older than 1 hour.wscleanup(ml*dresponse.jpeg, 1);% 获得差分方程分子和分母多项式系数num = str2double(h.num);%分子多项式系数den = str2double(h.den);%分母多项式系数%获得差分方程初始值% X0 = x-1 x-2 x-3 . x-nb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论