向量算子优化Vector Operation Optimization

查看MATLAB命令View MATLAB Command

示例显示Simulink编码器 ,将生成向量的块输出,设置为标量,优化生成的代码,例如Mux、Sum、Gain和Bus。这种优化通过用局部变量替换临时局部数组来减少堆栈内存。

示例模型Example Model

模型采用矢量优化rtwdemo_VectorOptimization,增益块G1和G2的输出为矢量信号tmp1和tmp2。向量的宽度为10。

model = 'rtwdemo_VectorOptimization';

open_system(model);

set_param(model, 'SimulationCommand', 'update')

Generate Code

为生成和检查过程,创建临时文件夹(在系统临时文件夹中)。

currentDir = pwd;

[~,cgDir] = rtwdemodir();

Build the model.

rtwbuild(model)

### Starting build procedure for: rtwdemo_VectorOptimization

### Successful completion of build procedure for: rtwdemo_VectorOptimization

Build Summary

Top model targets built:

Model                       Action                       Rebuild Reason

===========================================================================================================

rtwdemo_VectorOptimization  Code generated and compiled  Code generation information file does not exist.

1 of 1 models built (0 models already up to date)

Build duration: 0h 0m 25.92s

The optimized code is in rtwdemo_VectorOptimization.c. The signals tmp1 and tmp2 are the local variables rtb_tmp1 and rtb_tmp2.

cfile = fullfile(cgDir,'rtwdemo_VectorOptimization_grt_rtw',...

'rtwdemo_VectorOptimization.c');

rtwdemodbtype(cfile,'/* Model step', '/* Model initialize', 1, 0);

/* Model step function */

void rtwdemo_VectorOptimization_step(void)

{

real_T rtb_Sum3;

real_T rtb_tmp1;

real_T rtb_tmp2;

int32_T i;

for (i = 0; i < 10; i++) {

/* Gain: '<Root>/G2' incorporates:

*  UnitDelay: '<Root>/X2'

*/

rtb_tmp2 = 0.3 * rtwdemo_VectorOptimization_DW.X2_DSTATE[i];

/* Gain: '<Root>/G1' incorporates:

*  UnitDelay: '<Root>/X1'

*/

rtb_tmp1 = 0.2 * rtwdemo_VectorOptimization_DW.X1_DSTATE[i];

/* Sum: '<Root>/Sum3' incorporates:

*  Gain: '<Root>/G3'

*  Inport: '<Root>/In2'

*  Sum: '<Root>/Sum1'

*  Sum: '<Root>/Sum2'

*  UnitDelay: '<Root>/X3'

*/

rtb_Sum3 = ((rtwdemo_VectorOptimization_U.In2[i] - 0.4 *

rtwdemo_VectorOptimization_DW.X3_DSTATE[i]) - rtb_tmp2) -

rtb_tmp1;

/* Outport: '<Root>/Out2' */

rtwdemo_VectorOptimization_Y.Out2[i] = rtb_Sum3;

/* Update for UnitDelay: '<Root>/X3' */

rtwdemo_VectorOptimization_DW.X3_DSTATE[i] = rtb_tmp2;

/* Update for UnitDelay: '<Root>/X2' */

rtwdemo_VectorOptimization_DW.X2_DSTATE[i] = rtb_tmp1;

/* Update for UnitDelay: '<Root>/X1' */

rtwdemo_VectorOptimization_DW.X1_DSTATE[i] = rtb_Sum3;

}

}

关闭模型和代码生成报告

bdclose(model)

rtwdemoclean;

cd(currentDir)

向量算子优化Vector Operation Optimization的更多相关文章

  1. 数值优化(Numerical Optimization)学习系列-无梯度优化(Derivative-Free Optimization)

    数值优化(Numerical Optimization)学习系列-无梯度优化(Derivative-Free Optimization) 2015年12月27日 18:51:19 下一步 阅读数 43 ...

  2. 算法中的优化问题(optimization problem)

    和多数算法不同的是,有些问题的答案不只一个,而是需要在多个答案中,按照一定标准选出"最佳"答案,这类问题就统称为"优化问题"(optimization prob ...

  3. 数值优化(Numerical Optimization)学习系列-目录

    数值优化(Numerical Optimization)学习系列-目录 置顶 2015年12月27日 19:07:11 下一步 阅读数 12291更多 分类专栏: 数值优化   版权声明:本文为博主原 ...

  4. 吴恩达机器学习笔记41-支持向量机的优化目标(Optimization Objective of Support Vector Machines)

  5. 数值优化(Numerical Optimization)学习系列-文件夹

    概述 数值优化对于最优化问题提供了一种迭代算法思路,通过迭代逐渐接近最优解,分别对无约束最优化问题和带约束最优化问题进行求解. 该系列教程能够參考的资料有 1. <Numerical Optim ...

  6. [转] 数值优化(Numerical Optimization)学习系列-目录

    from:https://blog.csdn.net/fangqingan_java/article/details/48951191 概述数值优化对于最优化问题提供了一种迭代算法思路,通过迭代逐渐接 ...

  7. 凸优化简介 Convex Optimization Overview

    最近的看的一些内容好多涉及到凸优化,没时间系统看了,简单的了解一下,凸优化的两个基本元素分别是凸函数与凸包 凸集 凸集定义如下: 也就是说在凸集内任取两点,其连线上的所有点仍在凸集之内. 凸函数 凸函 ...

  8. Dijkstra算法堆优化(vector建图)

    #include<iostream> #include<algorithm> #include<string.h> #include<stdio.h> ...

  9. 凸优化 Convex Optimization PDF 扫描文字识别版

    凸优化理论 Convex Optimization 清华大学出版社 王书宁许窒黄晓霖译 Stephen Boyd Lieven Vandenbergt原著 2013 年l 月第1 版 下载链接 链接: ...

随机推荐

  1. XCTF-unfinish

    unfinish 之前做过这个题,这是之前写的WP:链接

  2. 深入浅出带你玩转sqlilabs(二)

    MYSQL高权限注入 mysql跨库注入 详情请看上一篇:深入浅出带你玩转sqlilabs(一) mysql文件操作注入-sqlilabs less7 可能用到的函数: into outfile()函 ...

  3. Day004 while和do-while循环

    循环结构(while和do-while) while循环 do...while循环 for循环 在Java5中引入了一种主要用于数据的增强for循环 //输出1~100 int i=0; while ...

  4. 基于RRCF(robust random cut forest)的时间序列异常检测流程

    摘要:RRCF是亚马逊提出的一个流式异常检测算法,是对孤立森林的改进,可对时序或非时序数据进行异常检测.本文是我从事AIOps研发工作时所做的基于RRCF的时序异常检测方案. 1.      数据格式 ...

  5. c++学习的一些忠告(转载)

    c++学习的一些忠告 1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C ...

  6. Python 之父爆料:明年至少令 Python 提速 1 倍!

    大概在半年前,我偶然看到一篇文章,有人提出了给 Python 提速 5 倍的计划,并在寻找经费赞助.当时并没有在意,此后也没有看到这方面的消息. 但是,就在 5 月 13 日"2021 年 ...

  7. 2020.12.20vj补题

    A - Insomnia cure 题意:一共s只龙,每隔k,l,m,n只龙就会受伤,问这s只龙有多少龙是受伤的 思路:看起来题目范围并不是很多,直接进行循环判断 代码: 1 #include< ...

  8. 最全的go语言的时间格式

    该文可以快速在Go语言中获得时间的计算. 在Go中获取时间 如何获取当前时间 now := time.Now() fmt.Printf("current time is :%s", ...

  9. http://www.loongnix.org/index.php/Lbrowser

    http://www.loongnix.org/index.php/Lbrowser 浏览器是桌面应用的核心API软件,龙芯中科早在2011年就开始组建浏览器研发团队开展基于gecko.blink等内 ...

  10. 067.Python框架Django之DRF视图类

    一 关于视图类的一下概念 drf除了在数据序列化部分简写代码以外,还在视图中提供了简写操作.所以在django原有的django.views.View类基础上,drf封装了多个子类出来提供给我们使用. ...