m0_74461109 2023-05-27 23:25 采纳率: 0%
浏览 71
已结题

朋友们,这个sim函数是出了什么问题了呢

img


将simulink输出的数值输入函数,不知道为什么会出现这样的问题

  • 写回答

6条回答 默认 最新

  • 阳光宅男xxb 2023-05-29 10:27
    关注
    获得2.70元问题酬金

    Simulation Error: 'Returning workspace outputs is supported with only single return argument'这个错误是指你的程序第29行,等号左边只能支持一个返回值,不支持多个返回值,如果有多个值,也只能是返回一个对象,其他值作为这个对象的属性。

    评论
  • 鱼弦 全栈领域创作新星创作者 2023-05-29 10:57
    关注
    获得1.05元问题酬金

    根据你提供的代码和错误信息,可以看出以下几点问题:

    第23-25行使用了不规范的引号,应该将单引号或双引号统一使用。例如,应该使用 'ControlP. CTRL A8C' 而不是 ’ControlP. CTRL A8C’。

    第26行的注释符 % 没有正确使用,应该在注释内容前加一个空格。例如,应该使用 % assignin('base', 'AOA', AOA); 而不是 %assignin('base',’AOA',AOA) ;。

    第29行的 sim 函数调用有误,应该将 [0, 0.01] 替换为 [0, 0, 0.01],以便提供正确的输入参数。

    第30行的注释符 % 没有正确使用,应该在注释内容前加一个空格。例如,应该使用 % y_out = 0; 而不是 %y_out=0;。

    第32-34行的注释符 % 没有正确使用,应该在注释内容前加一个空格。例如,应该使用 % FN = y_out(end, 2); 而不是 %FN = y_out(end, 2):。

    第34-36行的注释符 % 没有正确使用,应该在注释内容前加一个空格。例如,应该使用 % SFC = y_out(end, 3); 而不是 %SFC= y_out(end, 3);。

    第38-40行的注释符 % 没有正确使用,应该在注释内容前加一个空格。例如,应该使用 % result = [a',b',c']; 而不是 %result=[a' ,b’,c']:。

    在第29行中,如果你在 sim 函数中使用了多个输出参数,那么你应该使用一个单一的变量来接收所有的输出参数,而不是使用多个变量,否则会出现类似于“Returning workspace outputs is supported with only single return argument”的错误。

    最后,在你的错误信息中,可以看到该错误出现在第29行的 sim 函数调用中,这可能表明你的模型在该位置存在一些问题。你需要检查模型的输入和输出是否正确,并确保在 sim函数调用中提供正确的输入参数和选项。另外,你在代码中使用了一些未定义的变量,例如 ControlP.CTRL A8C、ControlP.CTRL FAN ALPHA 和 ControlP.CTRL HPC_ALPHA,如果这些变量没有被正确定义,也会导致错误的发生。

    评论
  • 还有头发的程序员- 2023-05-29 19:59
    关注
    获得0.30元问题酬金

    返回的参数的个数不对

    评论
  • 6~1!阿白 2023-06-02 08:31
    关注
    获得1.05元问题酬金

    你可以
    全局变量
    数组
    将多余的返回值赋予结构体指针

    评论
  • Python小叮当 2023-05-27 23:47
    关注
    获得1.95元问题酬金

    sim的返回结果只有一个。不要用多个变量接受他的返回值

    评论 编辑记录
  • CSDN-Ada助手 CSDN-AI 官方账号 2023-06-01 23:18
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7490584
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:Simulink转C代码的实现
    • 除此之外, 这篇博客: Simulink学习笔记5--Simulink仿真设置中的 1.仿真基础 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      Simunlink在运行模型仿真时通常需要两个过程:①设置不同的仿真参数,包括仿真起始时间、终止时间、求解模型的算法、最大步长等;②启动仿真,Simulink从指定的起始时间开始到终止时间运行仿真。如果模型有错误,则Simulink停止仿真,打开故障诊断查看器,帮助产看和确定仿真过程中产生错误的原因和位置。
      如何启动、暂停、终止和交互仿真?
      启动、暂停、终止略。
      交互仿真主要是在仿真中,可以改变仿真参数、算法、查看信号等。

    • 以下回答来自chatgpt:

      我作为AI语言模型不能看到您输入的函数或具体情况,但是我可以告诉您一些常见的Simulink模拟器问题及其表现,以及可能的解决方案。

      常见问题表现:

      1. 模拟器或模型无法启动或崩溃。
      2. 模型仿真结果与预期不符。
      3. 仿真速度缓慢。
      4. 内存或计算能力不足导致仿真失败。

      可能的解决方案:

      1. 检查模型文件路径和输入输出端口是否正确连接,同时检查模型参数是否正确设置。关闭其他占用计算机资源的程序,尝试重新启动计算机和Simulink模拟器。
      2. 检查模型参数、输入和输出变量是否正确设置,以及模型内部信号传输是否正确。根据仿真结果调整模型参数,优化模型结构。
      3. 优化计算机性能,例如增加内存和CPU。关闭模型中不必要的功能并降低仿真精度,同时在仿真之前预处理数据以提高仿真速度。
      4. 检查计算机硬件是否满足模型需求,尝试使用Simscape等工具减少计算量。优化计算机(例如增加内存或CPU)或者降低仿真精度以提高计算速度。

      总之,针对不同的具体情况可能需要不同的解决方案,需要综合考虑硬件、软件、模型和仿真结果等因素。如果您提供更加具体的信息,我可以尝试为您提供更多帮助。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 系统已结题 6月4日
  • 创建了问题 5月27日

悬赏问题

  • ¥30 XIAO esp32c3 读取FDC2214的数据
  • ¥20 我用malloc申请了一块空间 判空显示指针不为null 但是在输出data指针所指的地址是缺全是0 空指针不能输入值进去数组为什么呀
  • ¥15 在工控机(Ubuntu系统)上外接USB蓝牙硬件进行蓝牙通信
  • ¥15 关于PROCEDURE和FUNCTION的问题
  • ¥100 webapi的部署(标签-服务器)
  • ¥20 怎么加快手机软件内部计时的时间(关键词-日期时间)
  • ¥15 C语言除0问题的检测方法
  • ¥15 为什么四分管的内径有的是16mm有的15mm,四分不应该是12.7mm吗
  • ¥15 macos13下 ios交叉编译的问题
  • ¥15 bgz压缩文件怎么打开