MATLAB 中的复制求和运算符

2023-12-23

我正在尝试在 MATLAB 中对以下时间相关函数进行建模:

其中 gamma、beta 和 delta 是常数。 我不确定进行求和的最佳方法是什么。我可以制作 u(t) 和 y(t) 函数句柄,但 symsum 只能用于符号。我唯一的选择是使用 for 循环手动添加 y(t-i) 和 u(t-m) 吗?到目前为止,我为生成 y(t) 所做的工作如下所示:

N = 100;
y_out = zeros(N,1);
u = zeros(N,1);

for t = 1:1:N
u(t) = cos(beta*t);
end

y_out(1) = NARMA(beta,delta,gamma,true);
for t=2:N
    y_out(t) = NARMA(beta,delta,gamma);
end


function y_out = NARMA(beta,delta,gamma,first_call)
    % Set first_call to true only the first time you call the function
    persistent y
    if nargin>3 && first_call
        y = 0;
    end

    for i=1:1:m
    y = y + gamma*u + delta;
    end

    y_out = y;

end


这是一个不需要循环的可能解决方案(未经测试):

t = 1:N;
u = @(t) cos(beta * t);
y = cumsum(gamma * u(t - m) .* u(t) + delta);
y(m+1:end) = y(m+1:end) - y(1:end-m);

EDIT:

事实证明,上面的解决方案是错误的。我认为这是正确的:

u = @(t) cos(beta*t);
y = zeros(N+m, 1);
for t = 1:N
    y(t+m) = sum(y(t:t+m-1)) + gamma * u(t-m) * u(t) + delta;
end
y = y (m+1:end);

EDIT2:

通过进一步简化,求和可以简化为简单的 for 循环:

u = @(t) cos(beta*t);
y = zeros(N+m, 1);
e = gamma * u((1:N)-m) .* u(1:N) + delta;
de = diff(e);
y(1+m) = e(1);
for t = 2:N
    y(t+m) = 2 * y(t+m-1) - y(t-1) + de(t-1);
end
y = y (m+1:end);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MATLAB 中的复制求和运算符 的相关文章

  • 在 Matlab 中保存当前运行的脚本

    有没有办法保存Matlab中当前运行的脚本 我有一个脚本 它会自动备份一组脚本 但如果我更改了当前脚本 则保存的版本将过期 也许可以调用一些java Thanks 在 Yair Altman 网站上的某个地方 请参阅我的其他答案中的链接 他
  • 图像堆栈的最大强度投影

    我正在尝试重新创建该功能 max array 3 来自 MatLab 它可以获取 N 个图像的 300x300px 图像堆栈 我在这里说 图像 因为我正在处理图像 实际上这只是一个大的双数组 300x300xN 并创建一个 300x300
  • 递归与迭代算法

    我正在实现欧几里德算法来查找两个整数的 GCD 最大公约数 给出了两个示例实现 递归和迭代 http en wikipedia org wiki Euclidean algorithm Implementations http en wik
  • 在 Excel 中打印 MATLAB 图窗并调整其大小

    我在 MATLAB 中有两个带有手柄的图形hFig1 and hFig2 我想将它们打印到 Excel 中的特定单元格 单元格 E3 和 I3 并将它们重新调整为 2 英寸 x 3 英寸 我尝试过使用 AddPictures对象处理程序和使
  • 使用 GPU 进行 Matlab 卷积

    我用gpuArray尝试了matlab的卷积函数conv2 convn 例如 convn gpuArray rand 100 100 10 single gpuArray rand 5 single 并将其与 cpu 版本 convn ra
  • matlab mex 文件和 C++ dll (Windows)

    我有一个带有 Test 类的 DLL 标题 class MY EXPORT Test public int doit const string str 和来源 int Test doit const string str return in
  • MATLAB中如何画水平线和垂直线?

    我目前正在尝试在 MATLAB 中绘制简单的垂直线和水平线 例如 我想绘制线 y 245 我该怎么做呢 MATLAB 根据您提供的向量逐点进行绘图 因此 要创建一条水平线 您需要改变x同时保持y对于垂直线恒定 反之亦然 xh 0 10 yh
  • MATLAB 中最有效的矩阵求逆

    在 MATLAB 中计算某个方阵 A 的逆矩阵时 使用 Ai inv A should be the same as Ai A 1 MATLAB 通常会通知我这不是最有效的求逆方法 那么什么是更有效率的呢 如果我有一个方程系统 可能会使用
  • 如何使用matlab生成不同频率的正弦波?

    对于我的项目 我需要使用 matlab 生成一个正弦波 它有 100 000 个样本 并且频率在每 10 000 个样本后随机变化 采样率和频率可以根据方便而定 matlab中有没有函数可以生成这个 好的另一个例子 生成 5 个随机频率 r
  • 如何仅选择数组中的第一列并对其求和?

    这是我的代码 import numpy as np contrainte1 1080 0 65 minutes tous les jours contrainte2 720 0 55 minutes du lundi au vendredi
  • 使用mat2cell将MxN的矩阵划分为1xN大小的M矩阵

    我有一个大小为 MxN 的矩阵 比方说 1867x3 1867 行和 3 列 我想将其分成 1867 个大小为 1x3 的单元格 我使用了mat2cell X 1 1866 这里X是矩阵 1867x3 结果给出了两个单元格 一个单元格的大小
  • MATLAB - 如何将子图一起缩放?

    我在一张图中有多个子图 每个图的 X 轴是相同的变量 时间 每个图上的 Y 轴都不同 无论是它所代表的内容还是数据的大小 我想要一种同时放大所有图的时间尺度的方法 理想情况下 可以在其中一张图上使用矩形缩放工具 并让其他图相应地更改其 X
  • 句柄类和值类的区别

    我有一些 C 背景 想使用 Matlab 中的类 句柄和值类有什么区别 我知道如果我想定义一个带有重载运算符 例如 和 的矩阵类 我会使用值类 然而 有时 当我选择一个手柄类时 事情似乎只对我有用 MathWorks 提供了一些有关其用途的
  • 如何实现再次播放功能?

    我希望在游戏结束时得到提示 如果我还想再玩一次的话 并使用 Y N 输入 退出游戏或重复游戏 我该如何以最有效的方式解决这个问题 编辑 描述资源路径位置类型 类型 Main Main java ScaredyCat src se grupp
  • 如何避免大型 if 语句和 instanceof

    Animal public abstract class Animal String name public Animal String name this name name Lion public class Lion extends
  • 在 MATLAB 中重命名文件

    我正在尝试以编程方式重命名工作目录中的文件a temp txt to b hello txt 您建议如何这样做 MATLAB中有一个简单的文件重命名函数吗 我认为您正在寻找 MOVEFILE
  • 使用 CodeIgniter 在循环中加载视图是一种不好的做法

    我刚刚开始使用 CodeIgniter 想知道如果我将这样的代码放入循环中 它会减慢速度吗 data title the title data content blah blah blah this gt load gt view resu
  • Matlab 和 Python 中的优化算法(dog-leg trust-region)

    我正在尝试使用 Matlab 和 Python 中的狗腿信赖域算法求解一组非线性方程 在Matlab中有fsolve https www mathworks com help optim ug fsolve html其中此算法是默认算法 而
  • 有条件地从 flat_map 返回空迭代器

    鉴于这个定义foo let foo vec vec 1 2 3 vec 4 5 6 vec 7 8 9 我希望能够编写这样的代码 let result Vec lt gt foo iter enumerate flat map i row
  • 我需要转义该 MATLAB 字符串中的字符吗?

    我想在 MATLAB 中调用以下 bash 命令 grep Up to test linux vision1 1 log awk print 7 I use system 在MATLAB中 但结果有错误 gt gt status strin

随机推荐

  • 改造,onResponse方法不起作用

    我是 Retrofit 的新手 尝试从一台 Web 服务器获取数据 创建模型 接口 但这仍然不起作用 方法 onResponse 中的问题 可能 我添加到该方法 Log d 和 Toast 但我没有看到 Log 和 Toast当启动我的应用
  • std::experimental::ostream_joiner 和 std::pair

    在c 17 g 7中 终于有了久违的ostream joiner 它可以正确输出到 ostream 并使用中缀分隔符分隔集合元素 include
  • 如何在不使用 !important 的情况下自定义 twitter bootstrap 的各种输入大小?

    Bootstrap 的输入大小仅按宽度扩展 而按钮则按高度和字体大小扩展 见图 我正在尝试自定义输入以按高度和字体大小进行扩展 注意 他们正在为下一个版本修复这个问题 但我太不耐烦了 到目前为止我只能通过使用来实现这一点 important
  • 如何更改 okhttp 中请求的超时时间

    一般来说 我们为 okHttp 客户端设置超时 并使用该客户端的单个实例 因此 一旦生成该客户端 我们就无法更改该客户端的超时 如何更改特定请求的超时 到底有没有 不创建新客户端就可以做到这一点 很常见的是 某些调用花费的时间至少是每个应用
  • 具有可选子元素的默认 XML 序列(或全部)是否必须至少有一个子元素?

    如果有人能够确认以下模式的解释是否正确 我将不胜感激
  • Java 10 Eclipse + Maven“java.lang.module.FindException:找不到模块 myproject”

    我在 Eclipse 4 7 3a 中创建了一个新的 Java 10 项目 这是一个带有一些依赖项的 Maven 项目 该项目名为 MyProject 下面是我的 module info java module myproject expo
  • AndroidX 与 Android 数据绑定不兼容

    好的 我的任务是将项目迁移到 AndroidX 以减少项目中支持库的混乱 我已经按照官方文档启用了 AndroidX 但现在在尝试通过相应的自动生成的 Binding 类 通过在模块 gradle 中启用数据绑定创建 来膨胀视图时遇到运行时
  • Android Studio 0.8 - 不再运行自定义任务

    我刚刚从 Android Studio 0 6 升级到 0 8 3 在 Linux Mint 15 上 现在我的构建无法按预期运行 在我的 gradle 文件中 我有很多自定义任务 它们执行预构建步骤 复制文件 调整图像大小等 lots o
  • Chrome 扩展程序测试

    有人有 Chrome 扩展测试的经验吗 例如 我想创建一个使用的扩展 弹出浏览器操作 并自动执行一个测试用例来检查 单击时弹出窗口的行为 铬问题 http code google com p chromium issues detail i
  • Elixir 中的快速不区分大小写排序

    Elixir 程序员们大家好 我有大约 2 500 首音乐曲目的列表 我想按不同的参数 例如曲目标题 对它们进行排序 排序应不区分大小写 下面的代码可以工作 但需要大约 100 毫秒到 130 毫秒来对列表进行排序 有更快的方法吗 对我来说
  • 以编程方式添加 ARSCNView

    如何以编程方式添加 ARSCNView 如何设置宽度 高度和约束 class ViewController UIViewController var sceneView ARSCNView let configuration ARWorld
  • 由于环境错误而无法安装软件包:[WinError 5] 访问被拒绝:

    我有 Windows 10 我已完成 Tensorflow 安装 有用 它说 你好 Tensorflow 但这一切都在它面前 2018 08 18 18 16 01 500579 I T src github tensorflow tens
  • Django:向 UpdateView 生成的表单字段添加额外属性

    我使用的自定义用户是 Django AbstractUser 的子类 我试图存档的是允许用户更新他们的数据 一切正常 但表单看起来很难看 下面是我的代码 类属性未添加到表单中 forms py 简化 class AccountEditFor
  • Decorator() 得到了意外的关键字参数

    我在 Django 视图上遇到此错误 TypeError at web host 1 decorator got an unexpected keyword argument host id Request Method GET Reque
  • Fabric.js 动画对象/图像

    大家好 这是我一直在使用的代码 它将一个物体从 A 移动到 B 我想做的是让它移动到多个点 所以从起始位置 A gt B 然后从 B gt C 等等 也许有一些包含坐标集的变量 这些坐标将作为参数输入到某些动画函数中 但我尝试的任何操作都只
  • 通过映射减少图像尺寸

    我有一个 png 图像 其中有四种颜色 如果我将图像转换为 numpy 数组 我会得到一个具有以下尺寸的数组 length X height X 3 with length height 如何通过映射颜色来减少维度 这是当前的结构 arra
  • MapView:找不到方法 B 引用的类 A

    屏幕上有3个按钮 开始 查看地图 停止 当我单击 查看地图 时 它应该转到显示地图的新屏幕 但出了点问题 应用程序被强制关闭 我不断收到无法找到方法 B 引用的类 A 错误 拜托请有人纠正它 我已经被这个问题困扰三天了 Main xml
  • typedef std 容器?

    我想做 typedef deque type error use of class template requires template argument list type
  • 编写 Z80 汇编程序 - 词法 ASM 并使用组合构建解析树?

    我对编写汇编器的概念非常陌生 即使在阅读了大量材料之后 我仍然很难理解几个概念 将源文件实际分解为令牌的过程是什么 我相信这个过程称为词法分析 我已经到处搜索有意义的真实代码示例 但我找不到如此简单的代码示例 非常受欢迎 解析时 信息是否需
  • MATLAB 中的复制求和运算符

    我正在尝试在 MATLAB 中对以下时间相关函数进行建模 其中 gamma beta 和 delta 是常数 我不确定进行求和的最佳方法是什么 我可以制作 u t 和 y t 函数句柄 但 symsum 只能用于符号 我唯一的选择是使用 f