当前位置: 首页 > news >正文

什么是php网站wordpress 2.8

什么是php网站,wordpress 2.8,seo网站分析报告,手把手教你实现电商网站开发1. S-Function简介 S-Function是system-function的缩写。说得简单#xff0c;S-Function就是用MATLAB所提供的模型不能完全满足用户#xff0c;而提供给用户自己编写程序来满足自己要求模型的接口。 2. MEX函数与M文件的区别 第一#xff0c; MEX 函数能实现的回调函数比… 1. S-Function简介   S-Function是system-function的缩写。说得简单S-Function就是用MATLAB所提供的模型不能完全满足用户而提供给用户自己编写程序来满足自己要求模型的接口。   2. MEX函数与M文件的区别 第一  MEX 函数能实现的回调函数比M-文件能实现的回调函数要多得多 第二  MEX 函数直接访问内部数据结构SimStructSimStruct 是Simulink 用来保存关于S-function 信息的一个数据结构 第三  MEX 函数也可使用MATLAB MEX 文件API 直接来访问MATLAB 的工作空间。 如果一个C MEX文件与一个M文件具有相同的名字则C MEX文件被优先使用即在S-Function块中使用的是C MEX文件。   3. 基础知识 3.1 直接馈通(direct feedthrough)  直接馈通表示系统的输出或可变采样时间是否受到输入的控制。 a.  输出函数mdlOutputs或flag3是输入u的函数。即如果输入u在mdlOutputs中被访问则存在直接馈通。 b.  对于一个变步长S-Function的“下一个采样时间”函数mdlGetTimeOfNextVarHit或flag4中可以访问输入u。 例如一个需要其输入的系统也就是具有直接馈通是运算ykXu,其中u是输入k是增益y是输出。 又如一个不需要其输入的系统也就是没有直馈通是一种简单的积分运算 输出yx 导数dx/dtu 其中x是状态dx/dt是状态对时间的导数u是输入y是输出。 正确设置直接馈通标志是十分重要的因为它影响模型中块的执行顺序并可用检测代数环。 3.2 dynamically sized inputs  主要是给出输入连续状态数目size.NumContStates),离散状态数目size.NumDiscStates) ,输出数目size.NumOutputs),输入数目(size.NumInputs),Direct Feedthrough(size.Dir Feedthrough)。  3.3 setting sample times and offsets setting smaple times and offsets主要设置采样时间. 3.4 Level-1 和Level-2 Level 1 提供一个简单的接口可与少部分的S函数API交互。Matlab对于这种方式的支持更多的是为了保持与以前版本的兼容现在推荐采用的是Level 2 S函数。   4. S-Function实例 S-Function的仿真流程 例如要创建一个有1输入2维2输出1维3个参数还有全局变量的S-Function。 过程如下 a. 新建sfunction的C语言文件 打开simulink点击User-Defined Functions里面的S-Function Examples。这个里面有多个语言版本的模板有CCAdaFortran和M语言的版本其实都大同小异只要了解几个函数就很容易使用了。 选择C语言的版本从S-function模块中选择C-file S-functions里面的Basic C-MEX template。打开后另存为自己的模块名字如test.c 。下面我们来分析代码  #define S_FUNCTION_NAME test//这里把文件名sfuntmpl_basic修改为test #define S_FUNCTION_LEVEL 2 #include simstruc.h //程序里面要用到的头文件在这里引用如“math.h”等。 float global_var; //定义全局变量 static void mdlInitializeSizes(SimStruct *S) {//这个函数用来设置输入、输出和参数的。ssSetNumSFcnParams(S, 3); /*设置参数个数这里为3 */if (ssGetNumSFcnParams(S) ! ssGetSFcnParamsCount(S)) {return;}ssSetNumContStates(S, 0);//设置连续状态的个数缺省为0ssSetNumDiscStates(S, 0);//设置离散状态的个数缺省为0if (!ssSetNumInputPorts(S, 1)) return;//设置输入变量的个数这里为1ssSetInputPortWidth(S, 0, 2); //设置输入变量0的维数为2 ssSetInputPortRequiredContiguous(S, 0, true); //设置input0的访问方式true就是临近访问这样指针的增量后就可以直接访问下个input端口了。 ssSetInputPortDirectFeedThrough(S, 0, 1);// 设置输入端口的信号是否mdlOutputs函数中使用这儿设置为true。if (!ssSetNumOutputPorts(S, 2)) return;//设置输出变量的个数 ssSetOutputPortWidth(S, 0, 1);//设置输出变量0的维数为1维ssSetOutputPortWidth(S, 1, 1);//设置输出变量1的维数为1维 ssSetNumSampleTimes(S, 1); //设置采样时间此处为1s。ssSetNumRWork(S, 0);//不管ssSetNumIWork(S, 0);ssSetNumPWork(S, 0);ssSetNumModes(S, 0);ssSetNumNonsampledZCs(S, 0); ssSetOptions(S, 0); //下面可以写全局变量的初始化程序 global_var1; } static void mdlInitializeSampleTimes(SimStruct *S)//暂时不管 {ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME);ssSetOffsetTime(S, 0, 0.0);} #define MDL_INITIALIZE_CONDITIONS /* Change to #undef to remove function */ #if defined(MDL_INITIALIZE_CONDITIONS)static void mdlInitializeConditions(SimStruct *S)//暂时不管{} #endif /* MDL_INITIALIZE_CONDITIONS */ #define MDL_START /* Change to #undef to remove function */ #if defined(MDL_START) static void mdlStart(SimStruct *S)//暂时不管{} #endif /* MDL_START */ static void mdlOutputs(SimStruct *S, int_T tid)//这里填入相关的运算、算法等 { real_T *para1 mxGetPr(ssGetSFcnParam(S,0)); real_T *para2 mxGetPr(ssGetSFcnParam(S,1)); real_T *para3 mxGetPr(ssGetSFcnParam(S,2)); const real_T *u (const real_T*) ssGetInputPortSignal(S,0); real_T *y1 ssGetOutputPortSignal(S,0); real_T *y2 ssGetOutputPortSignal(S,1); y1[0]u[0]*para1[0]u[1]*para2[0]; y2[0]u[1]*para3[0]u[0]*para1[0]; } #define MDL_UPDATE /* Change to #undef to remove function */ #if defined(MDL_UPDATE)static void mdlUpdate(SimStruct *S, int_T tid){} #endif /* MDL_UPDATE */ #define MDL_DERIVATIVES /* Change to #undef to remove function */ #if defined(MDL_DERIVATIVES)static void mdlDerivatives(SimStruct *S){} #endif /* MDL_DERIVATIVES */ static void mdlTerminate(SimStruct *S)//这里需要把global变量全部初始化否则下次运行程序时全局变量还是之前的值。 { }#ifdef MATLAB_MEX_FILE /* Is this file being compiled as a MEX-file? */ #include simulink.c /* MEX-file interface mechanism */ #else #include cg_sfun.h /* Code generation registration function */ #endif  b. 编译 在matlab的command window 里面输入“mex test.c”即可将test.c编译为mex文件。 c.调用sfunction 在simulink空间里面拉入sfunction在s-function name里面填入test参数里面填入要设定的参数然后仿真即可。 //  转载http://www.cnblogs.com/xpvincent/archive/2013/01/18/2866978.html
http://wiki.neutronadmin.com/news/469707/

相关文章:

  • 西安网站制作网站一个网站的欢迎页怎样做
  • c# 网站开发框架小程序应用开发
  • 哪个网站做自行车评测的湛江市建设规划局网站
  • 微网站建设开发工具苏州seo免费咨询
  • 泰安祥奕网络网站建设模板邯郸网站建设提供商
  • 用jsp做网站默认显示this is my jsp page北京网站排名
  • 南通专业企业门户网站设计优秀网页设计案例分析之淘宝
  • 免费模板网站建设网页版qq登陆登录
  • 建一个论坛网站要多少钱推广普通话的意义
  • 南京金九建设集团网站u钙网在线制作logo
  • 莆田网站建设团队wordpress电视直播代码
  • 建新网站开发流程图国内做五金加工的订单网站
  • wordpress关于本站网站建设规划书实训报告
  • 成都招聘网站制作湖州集团网站建设
  • 移动互联网站开发网站再就业技能培训班
  • flash 做网站教程我有网站 怎么做淘宝推广的
  • 建设银行佛山分行网站电子商务网站设计规划书
  • 网络营销网站分析新人做网站不懂设计版面怎么办
  • 河源网站优化120平三室两厅简约装修
  • 阿里指数网站武功县住房和城乡建设局官网站
  • 网站建设概要设计怎么写郑州网站建设找智巢
  • 杭州建设网站官网网络销售渠道
  • 达州住房和城乡建设厅网站网站开发浏览器兼容
  • 网站做第三方登录开发一个手机app多少钱
  • 二手书网站建设的意义做游戏奖金不被发现网站
  • 哈尔滨模板建站定制网站网页美工设计招聘
  • 国外高大上设计网站贵阳开发网站建设
  • 如何建一个网站wordpress 标签不显示
  • 大连中山区网站建设买空间服务器做网站怎么弄
  • 手机p2p网站建设三只松鼠网站怎样做