Simulink从0搭建模型05-P6模型中数组的使用

ops/2024/9/23 12:52:37/

Simulink从0搭建模型05-P6模型中数组的使用

  • 本节课学习内容
  • 1. 数组的创建Mux、Constant
    • 1.1. 技巧:显示数据类型和维度的方法
  • 2. 数组的切片Demux
  • 3. 数组的索引Selector
    • 3.1. Index vector(dialog)
    • 3.2. Index vector(port)
    • 3.3. Starting Index(dialog)
    • 3.4. Starting Index(port)
    • 3.5. Starting and Ending Indics(port)
  • 4. 数组的赋值Assignment
    • 4.1. Index vector(dialog)
    • 4.2. Index vector(port)
    • 4.3. Starting index(dialog)
    • 4.4. Starting index(port)
  • 5. 数组的简单运算
    • 5.1. 加法Add
    • 5.2. 乘法Product
      • 5.2.1. 点乘
      • 5.2.2. 矩阵

本节课学习内容

b站视频【Simulink 0基础入门教程 P6 模型中数组的使用 Mux/Demux/Selector/Assignment】

在这里插入图片描述

1. 数组的创建Mux、Constant

  1. 添加一个Mux模块:默认2输入,双击改为5输入。

在这里插入图片描述

  1. 添加Constant模块作为输入,如下:

在这里插入图片描述

在这里插入图片描述

  • 注意:输入的Constant类型一致才不报错,都设置为Single。
  1. 另一种输入的表示方式,写在一个Constant模块里面,参数改为:

在这里插入图片描述

数据类型设置为double.

在这里插入图片描述

把[1X5]拉伸展开为:

在这里插入图片描述

说明:以下的输入没显示完整的都是[1 2 3 4 5].

1.1. 技巧:显示数据类型和维度的方法

在空白处右键选择"Other Displays"–“Signals & Ports”–“Signal Dimensions"和"Port Data Types”.

在这里插入图片描述

2. 数组的切片Demux

加载Demux模块:

在这里插入图片描述

自动平分为2个输出,一个维度3,一个维度2。可以手动更改[1 1 3]:

在这里插入图片描述

在这里插入图片描述

3. 数组的索引Selector

默认的Selector模块:

在这里插入图片描述

双击该模块,有不同的Index选择。

3.1. Index vector(dialog)

在这里插入图片描述在这里插入图片描述在这里插入图片描述

表示:输入长度为5,索引值为2,3,4,因此显示的是索引值为2,3,4的值。

其他的Index选择:

3.2. Index vector(port)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3. Starting Index(dialog)

在这里插入图片描述
在这里插入图片描述

3.4. Starting Index(port)

是Starting Index(dialog)的另一种表现方式。

在这里插入图片描述
在这里插入图片描述

3.5. Starting and Ending Indics(port)

Constant模块输入
在这里插入图片描述
在这里插入图片描述

这里遇到一个bug:

在这里插入图片描述

The signal at output port 1 of 'untitled/Selector' is a variable-size signal with a nondiscrete sample time. The sample time for any variable-size signal must be discrete.

报错原因是这是可变长度的信号,打开默认设置参数的Solver的Type是Variable-step:

在这里插入图片描述

把它改为Fixed-step再次运行就不报错了:

在这里插入图片描述

所以博主在前面的课程就讲了,养成好的习惯,开始就把求解器设置好。

4. 数组的赋值Assignment

Index选择有4种。

4.1. Index vector(dialog)

在这里插入图片描述
在这里插入图片描述

把Index=2的值改为100(原来为2)

4.2. Index vector(port)

更直观的表示出Index,就选用Index vector(port)。

在这里插入图片描述
在这里插入图片描述

4.3. Starting index(dialog)

在这里插入图片描述

同4.1

4.4. Starting index(port)

在这里插入图片描述

同4.2

5. 数组的简单运算

5.1. 加法Add

在这里插入图片描述

5.2. 乘法Product

5.2.1. 点乘

在这里插入图片描述

5.2.2. 矩阵

加一个reshape模块,改成行向量和列向量。

行=row,列=colum

在这里插入图片描述
在这里插入图片描述

-END-


http://www.ppmy.cn/ops/39491.html

相关文章

超越视觉极限:深度学习图像超分辨率算法清单【第四部分】

超越视觉极限:深度学习图像超分辨率算法清单【第四部分】 简介2019年 - SAN (Second-Order Attention Network)2019年 - IMDN (Information Multi-Distillation Network)2020年 - SwinIR (Swin Transformer for Image Restoration)2021年 - Real-ESRGAN (Real-World…

ctfshow web入门 php反序列化 web267--web270

web267 查看源代码发现这三个页面 然后发现登录页面直接admin/admin登录成功 然后看到了 ///backdoor/shell unserialize(base64_decode($_GET[code]))EXP <?php namespace yii\rest{class IndexAction{public $checkAccess;public $id;public function __construct(){…

Vue 基础语法

【1】模板语法 &#xff08;1&#xff09;差值表达式 {{}}是 Vue.js 中的文本插值表达式。 它用于在模板中输出数据或表达式的值。当数据或表达式的值发生变化时&#xff0c;插值表达式会自动更新。 补充&#xff1a;三目运算符 它的基本语法是 Condition ? A : B&#xff0…

自定义redisTemplate实现自定义序列化

由于我们使用springboot集成的redis工具的时候&#xff0c;redisTemplate内部是采用了jdk默认的序列化工具来对我们存储的数据进行序列化的&#xff0c;这会导致我们在redis中存储的序列化后的数据和我们原来的数据格式在查看的时候会有偏差&#xff0c;所以我们需要自定义redi…

Github 2024-05-08 C开源项目日报 Top8

根据Github Trendings的统计,今日(2024-05-08统计)共有8个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目8PHP项目1Python项目1C++项目1PHP:流行的Web开发脚本语言 创建周期:4710 天开发语言:C, PHP协议类型:OtherStar数量:37340 个Fork数量…

Vue计算属性

computed计算属性 概念 基于现有的数据&#xff0c;计算出来的新属性。 依赖的数据变化&#xff0c;自动重新计算。 语法 声明在 computed 配置项中&#xff0c;一个计算属性对应一个函数使用起来和普通属性一样使用 {{ 计算属性名}} <div class"app">{{ s…

Postman的简介,安装,注册。

一、安装 1.Chrome应用商品搜索Postman安装。(翻墙) 2.客户端安装官网地址:https://www.postman.com/downloads/ 3.Postman的注册和登录。 4.Postman的界面介绍 Home主页 workspaces 工作空间 Collections 集合&#xff0c;项目集合。 Apis api文档 EnViromments …

D3.js实战:数据可视化高级技巧实例应用

基础 首先&#xff0c;我们需要一个HTML文件来引入D3.js库&#xff0c;并准备一个画布来放置我们的图表。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"width…