首页 文章
  • 0 votes
     answers
     views

    替换方阵的对角元素而不循环[重复]

    这个问题在这里已有答案: How to assign values on the diagonal? 6个答案 我有一个方阵n x n我也有一个n x 1的向量 . 我想用向量中的值替换对角元素 . 有没有办法在没有循环的情况下在Matlab中执行此操作?
  • 6 votes
     answers
     views

    MATLAB中的Java堆大小问题

    我试图通过MATLAB运行java程序 . 当我的输入文件很小时,它工作正常 . 但是,当我增加文件大小,并反过来增加我的堆大小时,我收到此错误消息: VM初始化期间发生错误无法为对象堆保留足够的空间无法创建Java虚拟机 . 当我使用 -Xmx1500m 运行我的java命令时,它工作正常,但当我将其增加到 -Xmx2000m 时,它会给出错误消息 . 计算机我不知道为什么将堆大小增加到20...
  • 5 votes
     answers
     views

    如何在matlab中将每一行与另一个矩阵元素的每一行相乘?

    我有这样一个矩阵 m1 = [ 1 2 3; 4 5 6; 1 2 3] m2 = [ 2 2 2]; 我想将每行m1乘以m2元素 . 结果是 result = [2 4 6; 8 10 12; 2 4 6] 我该怎么办?
  • 2 votes
     answers
     views

    将矩阵的每一行乘以另一个矩阵

    说我有以下矩阵 B = [1 2 3;4 5 6;7 8 9;10 11 12] 和另一个矩阵 A = [a b c;d e f;g h i] 如何将矩阵B的每一行乘以矩阵A(不使用for循环),即 for i = 1:4 c(i) = B(i,:)*A*B(i,:)' end 提前谢谢了 .
  • 1 votes
     answers
     views

    Matlab,SCIP和Opti Toolbox

    我正在使用Opti Toolbox,这是一个免费的Matlab优化工具箱 . 我正在解决一个混合整数非线性程序,一个MINLP . 在Opti Toolbox中,使用的MINLP解算器是SCIP . 我将自己的目标定义为单独的函数(Opti中的有趣参数),并且此函数需要调用其他带有双参数的matlab函数 . 问题是每当Opti调用我的函数来评估目标时,它首先使用' scipvar ' obje...
  • 1 votes
     answers
     views

    在MATLAB / Simulink中检测discerete控制器的采样瞬间

    让我们假设我在Simulink中有一个连续的系统来控制 . 首先,我应用卡尔曼滤波器来估计系统的状态 . 在下一阶段,我将在嵌入式MATLAB函数中使用估计状态( x_hat ),该函数调用模型预测控制器函数 my_mpc ,如下所示: function [u]= emd_fcn(x_hat , r, t, Ts) % x_hat: estimated state, r:...
  • 1 votes
     answers
     views

    日期时间转换:数字到日期时间

    我的日期和时间间隔为 one hour(3600 seconds) in number format, e.g 0,3600, 7200, 10800, 14400, 18000 etc. 我有开始日期和时间, e.g 0 corresponds to 2005/06/01 01:00 in 'yyyy/mm/dd HH:MM' format. 我正在将这些数据写入Excel文件,所以我正在寻找能...
  • 1 votes
     answers
     views

    Matlab:将文件日期以毫秒转换为Matlab时间格式

    我有一些带有表格日期的文本文件 2015-09-08 14:38:03 2015-09-08 14:38:03.1 2015-09-08 14:38:03.2 我想转换成Matlab日期/时间格式 . 如您所见,文本字符串具有与毫秒不同的时间格式 . 在第一种情况下,没有给出毫秒;在秒的情况下,毫秒只给出一个数字 . 这为测量数据提供了20Hz的采样率 . 到目前为止,只有 x = date...
  • 6 votes
     answers
     views

    在SImulink中禁用/注释块

    是否可以在任何编程语言中注释掉Simulink中的块?我的意思是,使用逻辑,我可以禁用块 . 但它并不是最好的解决方案 . 我宁愿在模型中禁用/注释掉块的一部分来测试Simulink中的各个模块 . 任何提示都将受到高度赞赏 . 谢谢
  • 2 votes
     answers
     views

    从M文件控制simulink

    我试图从M文件控制simulink . 我想在M文件中做的是给simulink模型一些输入,运行simulink模型,在0.6秒改变一个输入值,用新输入继续运行simulink模型 . 我已经知道通过使用set_param,我可以启动,暂停和继续simulink,但问题是我不知道如何在某个时间(0.6s)暂停simulink模型,是否有可能获得当前时间从simulink模型中读取它并在M文件中读取...
  • 2 votes
     answers
     views

    如何同时运行simulink仿真和matlab脚本

    我正在尝试运行Simulink模型,同时在Matlab脚本中接收和处理数据,并将结果发送到Simulink以更改模型的行为 . 由于Matlab脚本应该继续接收和处理数据,我能想出的唯一方法是使用while(1)循环 . 但是,模拟似乎被while循环阻止了 . 运行脚本时,模拟时间停止 . 只要我按Ctrl C结束脚本,模拟就会继续 . 有没有办法同时运行simulink仿真和Matlab脚本(...
  • 2 votes
     answers
     views

    每次没有进行任何更改时,Simulink模型都会重建

    自从我开始使用这个Simulink模型以来,我一直有这个问题 . 无论我尝试什么,Simulink每次运行时都会重建模型 . 我使用以下过程查看了校验和: >> [cs1, cs1det] = Simulink.BlockDiagram.getChecksum(<model name>); >> (Here I hit run on the model with...
  • 0 votes
     answers
     views

    在循环中更改传递函数 - simulink

    我开始使用Simulink,我有一个关于使用matlab for循环来改变传递函数的问题 . 假设我有以下问题: 我的目标是“系统”将等于: 基本上我想在5个不同的传递函数中从时间= 0到时间= 10运行5次Simulink仿真 . 任何帮助表示赞赏 . 谢谢 .
  • 0 votes
     answers
     views

    在simulink中运行用户定义的块时,Matlab崩溃

    我在simulink中用单输入和单输出创建了一个用户定义的块,它工作得很好 . 但是当我在没有输入的情况下创建用户定义的块时,在simulink模型MATLAB Crashes中运行此块 . 下面是C S函数的代码 . 有关此的任何信息表示赞赏 . #define S_FUNCTION_NAME My5times /* Defines and Includes */ #define S_FUNC...
  • 0 votes
     answers
     views

    运行具有实时输入的连续Simulink模型?

    我是Matlab / Simulink的新手,但要求从一个软件接口与Simulink模型 . 目前我创建了一个简单的Simulink函数'Inc',它有一个输入到一个带有常数1和输出的加法块 . 我使用了To / From Workspace块,可以使用时间/值向量输入在固定时间内运行模拟,例如simin = [0,0; 5,0; 5,1; 10,1] . 我想做的是连续运行我的模型?实时读取工作...
  • 0 votes
     answers
     views

    在Simulink中实时并发执行

    我有两个模型参考 - 慢模型和快模型,每个都以自己的速率运行,以便在grt“通用实时”上进行并发执行 . 但是,当我尝试构建块时,我收到以下错误: Simulink无法为块“Multirate / Fast”的输出端口1处的信号生成代码,因为该信号需要数据传输,从而为速率单调调度任务生成无锁代码 . 我不知道在simulink中配置什么来克服这个错误 . 我尝试添加从快速模型到慢速模型的速率转...
  • 0 votes
     answers
     views

    调试simulink模型中的错误

    我正在尝试使用Cyfuzz使用Simfuink,它生成随机模型来测试simulink编译器是否存在任何错误 . 我已经生成了一个随机模型,可以在以下位置找到: sampleModel Link 我已经能够通过对块的参数进行一些更改来手动调试错误 . 但是我想编写一个函数,在遇到列出的错误时会做出与我所做的相同的更改 . 由于我是MATLAB的新手,我一直在努力这样做 . 我所做的改变是: 在计...
  • 0 votes
     answers
     views

    Simulink模型在while循环中

    我想获得simulink模型的值 . 目的是在matlab脚本中的while循环中实现simulink模型 模拟必须运行10秒 . simulink模型的输出是一个信号值,不应超过值1 . 应该运行while循环,直到找到正确的值a,b,c和d . 如果模拟错误,则值应递增 . (a是外循环,d是内循环)应该运行所有可能的组合 . 它是如何实现的,是否有可能以及如何在simulink模型中获得...
  • 1 votes
     answers
     views

    使用Simulink更新变量

    我想使用simulink模型基本上做“x = x k”操作 . 使用的时间是固定的步骤离散,我希望x每个时间步更新 . k是来自源块的常数或时变值 . 该问题还与设置x的初始值(对于单个开始时间步骤)有关 . 理想情况下,模拟应该运行无限时间 . 当接近大数字时,不存在与变量x相关的缓冲区溢出有关的问题 . 请建议我应该使用哪些块;如果可能的话也是图表 . 我想我需要一个可以充当源的块,但也可以...
  • 0 votes
     answers
     views

    在Simulink中使用单个变量

    我是Simulink的新手,但我有很多编程经验,所以我不习惯思考Simulink心态中的问题 . 要么我错过了一些非常明显或非常深刻的东西 . 我想根据以下等式实现线性滑动表的简单模型: v = model input = table velocity dt = simulation timestep x = internal displacement variable = initially...
  • 2 votes
     answers
     views

    在Simulink中解决子系统内的ODE

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

    Simulink桌面实时和最小均方自适应算法

    我需要在Simulink桌面实时工具箱上实现基于LMS的自适应音频消除算法 . 物理系统由记录噪声源的麦克风和记录控制过程后残留噪声的另一个麦克风组成(由Simulink控制的扬声器注入抗噪声) . 为了使(自适应)LMS算法正常工作,我需要能够逐个样本地工作,即在每个采样时刻我需要使用两个麦克风的同步当前采样值来更新自适应滤波器 . 我意识到一些延迟是不可避免的,但我想知道是否可以在Simuli...
  • 1 votes
     answers
     views

    我可以在Simulink中为Matlab函数添加文本输入吗?

    在Simulink中,我知道如何定义一个Matlab函数,它将常量或信号作为输入并处理它 . 我想问一下是否有可能将(常量)字符串输入到Matlab函数中 . 我查看了库浏览器,找不到可以表示字符串的块 .
  • 0 votes
     answers
     views

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

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

    使用set_param和get_param进行Matlab和Simulink仿真

    我使用命令set_param和get_param来控制一个非常简单的simulink模型,它只包含一个时钟块和一个范围 . 我想要的是让simulink模型运行,从Simulink到Matlab获取时钟块的实时输出,并在时钟值大于5时停止模拟 . 以下是我的Matlab脚本: Simulink_Model='co_simulation_sl'; load...
  • 1 votes
     answers
     views

    Matlab - 使用XTickLabel调整x轴以反映伪时间

    我为这篇漫长的帖子提前道歉 . 我目前正在编写一个函数来“实时”读取IMU数据并绘制数据 . IMU数据以2460Hz产生,但存储在内部IMU存储器中并以10Hz输出 . 换句话说,我通过Matlab每100毫秒读取246个数据样本 . 一旦我从IMU读取数据,我就使用'now'函数给它加时间戳 . 然后,我在x轴上绘制数据(以datenum格式),在y轴绘制IMU数据 . 我遇到的问题是我无法...
  • 2 votes
     answers
     views

    如何在Matlab Simulink中包含带常量的c-header

    我正在开发一个具有许多C-s功能的Simulink模型 . 为了更容易处理,我想在simulink-modell中使用c-s函数中的常量 . 所以我有一个带有preprocesser常量的c-header,如: #define THIS_IS_A_CONSANT 10 还有一个问题:如何以这种方式将其包含在Simulink中我可以使用THIS_IS_A_CONSANT,例如在像工作空间变量这样的...
  • 0 votes
     answers
     views

    Simulink - 如何使用回调函数创建独立的自定义块

    我目前正在编写一个包含多个模型的新库(我习惯于Matlab,但不习惯Simulink) . 我能够创建一个带有块参数的模型,比如参数'p',以及一个回调函数(initfct),它使用这个参数来计算我模型中使用的特定值(比如简单的增益K = K(p)) . 我的问题是我的参数'p'和'K'可直接在工作区中使用,我不想这样做 . 此外,如果我在一个系统中使用两次或更多这个模型,这两个模型总是共享相同...
  • 2 votes
     answers
     views

    以编程方式在Simulink中编辑“MATLAB功能”块的代码

    我想以编程方式创建一个包含"MATLAB Function"块的简单Simulink模型 - 即使用Matlab代码 . 感谢this guide,我设法创建了一个包含块的新模型: open_system(new_system('my_system')) add_block('simulink/User-Defined Functions/MATLAB Function', '...
  • 0 votes
     answers
     views

    如何在simulink中设置具有可变系数的传递函数?

    我有一个传递函数,其分母中的系数值随模型的输出而变化 . 所以问题是:如何在变量系数的simulink中设置传递函数? 应该使用块transfer fcn Direct Form II Time varying来完成 . 任何人都可以向我解释它是如何工作的?在Matlab文档中没有关于此块的足够信息!一个例子非常有用..谢谢

热门问题