我是靠谱客的博主 乐观金针菇,最近开发中收集的这篇文章主要介绍simulink中固定大小矩阵和可变大小矩阵创建的几个陷阱1 固定大小矩阵的创建,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 1 固定大小矩阵的创建
  • 2 可变大小矩阵的创建

Simulink进行数据处理时经常需要在matlab function里面创建矩阵,但一不留神就会出现创建的矩阵维度错误的问题,有一些比较明显的错误根据提示就知道如何修改,但有一些不会给出明显的提示,如下面这个报错,错误认为input SFunction的输入维度无效,这种bug不可能会跑到底层的input SFunction下面去debug,只能在你的程序里解决。

Error in port widths or dimensions. Invalid dimension has been specified for input ' SFunction

1 固定大小矩阵的创建

在m脚本或者m函数中是可以创建类似

width = 2;
a = zeros(1,width);

这样的固定大小矩阵,但是在Simulink环境下,如果width在workspace里面, 然后你将width作为matlab function的输入,这样就会出现矩阵维度不能识别或者维度错误的问题。原因是你这样写的本意可能是想创建一个固定size的矩阵,但是compiler会认为这是一个可变大小的矩阵,然后可变大小的矩阵实际上还需要设置一些东西,你没有设置,因此会报错!

所以使用固定size矩阵最好的方法是直接写出矩阵大小,而不是将size作为输入传入matlab function。

我遇到过类似的问题,源文件和

最后

以上就是乐观金针菇为你收集整理的simulink中固定大小矩阵和可变大小矩阵创建的几个陷阱1 固定大小矩阵的创建的全部内容,希望文章能够帮你解决simulink中固定大小矩阵和可变大小矩阵创建的几个陷阱1 固定大小矩阵的创建所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部