首页 文章
  • 1 votes
     answers
     views

    如何在Simulink中关闭代码生成? (独立代码生成不支持该功能)

    我正在创建一个模拟,我将自己移植到另一种语言 . 所以我不需要使用Simulink的代码生成功能 . 如何让它试图让代码生成关闭? 例如,我在 MATLAB Function 块中有以下代码: function OutImage = ResizeCropPad(InImage, Width, Height) %#codegen %coder.extrinsic('imresize'); ...
  • 1 votes
     answers
     views

    使用MATLAB功能块在Simulink中生成随机数

    我试图谷歌这个问题并在这里搜索问题和答案,但我发现我的问题没有明确的答案,所以我正在制作一个新问题 . 希望不会太麻烦! 我正在Simulink中创建一个模拟,我有一个“MATLAB函数”-block,它应该从另一个源获取输入(我们可以认为这个源是一个“常量”-block),然后应用一个由输入上的MATLAB功能块 . 我的问题是,每次运行Simulink仿真时,我都得到完全相同的随机数 . 我想...
  • 0 votes
     answers
     views

    从Simulink中的Matlab功能块调用的sim命令的Simout输出

    我试图在根模型“outer.mdl”的一个时间步中模拟一个模型“inner.mdl”(几个时间步长) . 我想过从Matlab功能块调用simout = sim(“inner.mdl”) . 问题是:由于我使用外部sim(绕过代码生成),simout作为MxArray返回,我无法从中检索记录的信号 . 任何想法都会受到赞赏,无论是关于模拟仿真还是使用我正在尝试的方法获取记录的信号 . 我这样做的主...
  • 0 votes
     answers
     views

    求解Level-1 S-函数与Matlab编码器的线性方程组

    我有一个matlab level-1 s函数,我用它来解决线性方程组 . 不幸的是,我的模拟速度非常慢,而且Profiler报告告诉我这个特定的s函数是耗时的 . 由于我可以访问Matlab Coder,因此我有机会将我的s函数转换为C代码 . 然而,它并不是那么简单,因为matlab函数的信号是可变大小的,并且需要一些努力才能在C中实现相同的功能(尽管我知道它可以完成) . 在我开始之前,我想问...
  • 1 votes
     answers
     views

    Matlab函数作为Simulink块

    我试着在Simulink中编写一个Matlab函数 . 我的第一个功能是这样的: function y = fcn(u, v) coder.extrinsic('detectSURFFeatures'); boxPoints = detectSURFFeatures(u); %scenePoints = detectSURFFeatures(v); vBoxPoints = boxPoints.s...
  • 1 votes
     answers
     views

    有没有办法在没有mcr的matlab中为.m文件创建.exe文件?

    我有一个matlab(.m)文件和相应的gui(.fig)文件 . 现在我想生成(.exe)文件,即一个可以在没有安装matlab的pc上运行的独立应用程序 . 我可以在不添加mcr(matlab编译器运行时)的情况下执行此操作吗?因为mcr本身就是400MB的数据 .
  • 2 votes
     answers
     views

    在Simulink中解决子系统内的ODE

    我试图弄清楚如何在Simulink模型中解决子系统内的ODE系统 . 基本上,每次调用此子系统(在模拟时钟的每个刻度处发生(固定步骤))都需要求解ODE . 因此,子系统就像一个不同的“时钟” . 我有一个M文件,它实现了ODE系统的功能 . 目前,我有一个MATLAB功能块 . 它需要很多参数,我可以从基础工作区获得(通过 evalin 并在开头使用 coder.extrinsic('evali...
  • 0 votes
     answers
     views

    使用输入操作Matlab Simulink模型中的块参数

    我创建了一个matlab模型,意图将其用于代码生成,特别是PLC编码器 . 该模型基本上是包含误差计算的示例离散PID块,但另外我希望增益和采样时间是输入 . 这在Simulink中可能没有意义,但对于生成的PLC代码,它是首选解决方案 . 目前,模型工作区中的增益块(Kp,Ki,Kd)的变量为维度为[1 1]的double,然后我使用输入中的“ToWorkspace”块 . 这在模拟中不起作用,...
  • 0 votes
     answers
     views

    使用Matlab功能块在Simulink中进行UDP

    我有一个使用Python设置的服务器,并且已经成功地与运行在Matlab脚本中的客户端 Build 了一个简单的通信协议 . 我需要在Simulink模型中运行此函数,以便测试我正在开发的一些控制器 . 由于UDP不支持代码生成,我一直在尝试将函数设置为外部函数,如下所示: function z = fcn(u) elevationMatrix = zeros(3,3); coder.extr...
  • 0 votes
     answers
     views

    Simulink中的Matlab函数不支持RMS

    Simulink有一个名为“Matlab Function”的模块,它允许您在Simulink流程图中创建自定义函数 . 我在Simulink Matlab函数模块中实现了一个简单的函数 . 我的函数包含对Matlab内置 rms() 的调用 . 当我运行Simulink模型时,我收到以下错误: The function 'rms' not supported for standalone cod...
  • 2 votes
     answers
     views

    在Matlab Simulink中将动态大小的mxArray转换为struct

    我有extrinsic function,通过 webread() 返回 mxArray . 这个 mxArray 实际上应该是一个结构,以便我可以访问它并读取其中的数据 . 问题是它有一个动态大小,所以我可以静态地调整大小 . 这是我的代码: function out = getDataFromCloud() coder.extrinsic('webread'); coder.extrinsi...
  • 0 votes
     answers
     views

    Simulink Matlab功能块'Size mismatch'错误

    我在Simulink模型中使用Matlab功能块 . Input是1x32二进制流,Output y是0到15之间的整数 . 我在这个函数中定义了2个变量,名为chip = zeros(17,32)和reconst_op = zeros(1,32) . 我的问题是,当我在if条件中比较这两个变量时,如下所示: 函数y = De_Spreading_Mod(输入) if all(reconst_...

热门问题