matlab - 信号 Simulink 的初始值

标签 matlab real-time simulink

我正在 Simulink 中开发游艇速度预测程序 (VPP)(我无法上传图片,显然我是这个论坛的新用户)。

解决这个问题需要我知道明显的风速和角度(分别是 VA 和 beta),以便获得帆产生的力,从而获得净力、加速度和最终的船速。但是,VA 取决于船速 (VS)。我尝试通过将加速度转换为速度的积分器 block 输入后者的初始值,但我在“表观风”m 函数中不断收到以下错误:“索引表达式越界。试图访问元素 3。有效范围是 1-1."。请注意,如果我重新排列模型并为函数提供常数值,比如说,它将起作用(尽管由此产生的船速在物理上不正确)。 m 函数的列表如下所示。

简化框图:

[VT,gamma] -> 视风 -> 空气动力学和流体动力学 -> 力/质量 -> 加速度 -> 1/s -> VS

function [VA, beta] = fcn(inputs)
% 1 - gamma  % true wind heading [deg]
% 2 - VT  % true wind speed [kts]
% 3 - VS

%#codegen

% apparent wind angle [deg]
beta=atan(sin(inputs(1)*pi/180)/(cos(inputs(1)*pi/180)+inputs(3)/inputs(2)))/pi*180;    

% apparent wind speed [kts]
VA=sin(inputs(1)*pi/180)/sin(beta*pi/180)*inputs(2);    

end

编辑:现在我可以实际上传一个模型,请找到附件的流程图。

enter image description here

最佳答案

这可能有帮助:

为什么在闭环中使用嵌入式 MATLAB 模块时信号维度无法正确传播 http://www.mathworks.com/support/solutions/en/data/1-9TQFRN/?product=SL&solution=1-9TQFRN

祝你好运。

总经理

关于matlab - 信号 Simulink 的初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12988665/

相关文章:

matlab - 矩阵的映射值?

solr - 关于 Solr 的几个问题。交易和实时搜索

jquery - 实时显示高度变化

matlab - 当 printf 位于从 s-function 调用的单独的 c 文件中时,如何使它工作?

c++ - 将 Matlab 内置函数转换为 C/C++

matlab - 为手-前臂分割实现手腕裁剪程序(Matlab)

MATLAB : search and count (?)

embedded - 软件撞击金属的地方

fpga - Simulink 中两个复数向量的矩阵乘法

c - SIMULINK 保持信号的先前值