Matlab:不正确的索引矩阵参考(或智胜matlab)

2024-04-25

我希望能够写jasmine http://pivotal.github.io/jasmine/类似于 Matlab 中的测试。 所以像

expect(myfibonacci(0)).toBe(0);
expect(myfibonacci(5)).toBe(15);
expect(myfibonacci(10)).toBe(55);

我尝试采用两种策略来实现这一点:

(1)第一个策略使用结构体

expect = @(actual_value) struct('toBe', @(expected_value) assert(actual_value == expected_value));

(真正的实现不会只是调用assert)

但这不起作用:

expect(1).toBe(1); % this triggers a syntax error
??? Improper index matrix reference.

% this will work:
x = expect(1);
x.toBe(1);

(2)我尝试的第二个策略是使用一个类:

classdef expect
properties (Hidden)
    actual_value
end

methods
    function obj = expect(actual_value)
        obj.actual_value = actual_value;
    end

    function obj = toBe(obj, expected_value)
        assert(obj.actual_value == expected_value);
    end
end
end

乍一看这看起来不错: 可以在控制台运行

expect(1).toBe(1);

但是,不是在控制台中而是在脚本中运行它给出

??? Static method or constructor invocations cannot be indexed.
Do not follow the call to the static method or constructor with
any additional indexing or dot references.

Error in ==> test at 1
expect(1).toBe(1);

有什么方法可以让这个想法在 matlab 中发挥作用吗?


在最新版本的 MATLAB (13a/13b) 中,内置了一个单元测试框架,它看起来与您正在尝试的非常相似。代替

expect(myfibonacci(0)).toBe(0);

你会写

import matlab.unittest.constraints.IsEqualTo
testCase.verifyThat(myfibonacci(0), IsEqualTo(0))

(你也可以/代替assumeThat, assertThat, or fatalAssertThat).

如果出于某种原因您希望实现自己的框架,请注意语法中的细微差别 - 您有一个点,而 MathWorks 之间有一个逗号myfibonacci(0)和测试条件。

在 MATLAB 中,您无法对这样的下标表达式的结果进行索引(好吧,您could,但你必须超载subsref,那是一个痛苦的世界,相信我)。因此,他们的做法是将测试比较条件作为单独的包引入,并将它们作为单独的输入参数应用,而不是作为点语法的方法。

看一眼文档 http://www.mathworks.com/help/matlab/matlab-unit-test-framework.html对于新的单元测试框架,可以了解有关框架本身的更多信息,或者(如果您更愿意使用自己的)他们设计的语法以与您的语法进行比较。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab:不正确的索引矩阵参考(或智胜matlab) 的相关文章

  • 单元测试定位服务

    我有一个位置跟踪服务 正在尝试对其进行单元测试 我正在尝试使用 locationManager addTestProvider 和 setTestProviderLocation 方法来实现此目的 但是 我似乎无法通过提供程序获取任何位置并
  • 我需要转义该 MATLAB 字符串中的字符吗?

    我想在 MATLAB 中调用以下 bash 命令 grep Up to test linux vision1 1 log awk print 7 I use system 在MATLAB中 但结果有错误 gt gt status strin
  • Ruby 试图掌握一种新的表示法。 (inject(:) 与 select(and:even?);为什么有 &?)

    所以 我刚刚了解到 而不是写这样的东西 1 2 3 4 5 inject x y x y gt 15 我可以写 1 2 3 4 5 inject gt 15 我还了解到 而不是写 1 2 3 4 5 select x x even gt 2
  • 在 Matlab 中高效获取像素坐标

    我想在 Matlab 中创建一个函数 给定一个图像 该函数将允许人们通过单击图像中的像素来选择该像素并返回该像素的坐标 理想情况下 人们能够连续单击图像中的多个像素 并且该函数会将所有相应的坐标存储在一个矩阵中 有没有办法在Matlab中做
  • QUnit 不会运行测试

    我刚刚开始使用 QUnit 并遇到问题 我目前正在使用 TypeScript 它是一个 JavaScript 编译器 我在与我的主要课程结构平行的课程中进行测试 在每个类中 我都有一个名为 runTests 的函数 为了执行这些测试 我循环
  • Grails 控制器单元测试不会将页面渲染到response.text

    我的环境配置 Java 1 7u51 Grails 2 3 7 我试图断言response text在控制器测试中但它总是带 发生了什么 这是我的用户控制器 class UserController def index flash erro
  • 如何模拟 typeorm 连接

    在集成测试中 我使用以下代码片段来创建连接 import Connection createConnection from typeorm ts ignore import options from ormconfig js export
  • 如何在两个类之间共享数据

    Question 有没有一种方法可以让两个类同时相互继承 背景 我目前正在开发一个 Socket Server 项目 在这个项目中 我有两个课程 一个Server类 以及一个GUI班级 他们的目的是不言自明的 但是 我显然需要让两个班级相互
  • 如何知道您的单元测试装置是否“尺寸合适”?

    您如何知道 测试夹具 的尺寸是否合适 我所说的 测试夹具 是指一个包含大量测试的类 我在测试装置中一直注意到的一件事是它们变得有点冗长 鉴于它们也可能不够详细 您如何了解单元测试的大小是否合适 我的假设是 至少在 Web 开发的背景下 您应
  • 使用原始类型模拟案例类

    考虑以下类型结构 trait HasId T def id T case class Entity id Long extends HasId Long 比方说 我们想在一些测试中模拟实体类 val entityMock mock Enti
  • 如果我们在实体类的getter和setter中添加逻辑是不是不好的设计

    JAVA 8 我有一个 POJO 类 class User private String name private String password Getters Setters 我将使用它作为实体类 在 getter setter 中pa
  • Swift 完成处理程序语法

    此代码用于回答此处的问题 如何在 Swift 中发出 HTTP 请求 https stackoverflow com questions 24016142 how to make an http request in swift let u
  • 通过 Matlab 访问 Physionet 的 ptbdb 中的数据库

    我首先设置系统 old path which rdsamp if isempty old path rmpath old path 1 end 8 end wfdb url http physionet org physiotools ma
  • 如何在放置颜色条后保持子图大小不变

    假设我们有一个 1 2 子图 我们在其中绘制了一些图形 如下所示 subplot 1 2 1 surf peaks 20 subplot 1 2 2 surf peaks 20 然后我们要添加一个颜色条 colorbar 我不希望结果中的正
  • MATLAB - 冲浪图数据结构

    我用两种不同的方法进行了计算 对于这些计算 我改变了 2 个参数 x 和 y 最后 我计算了每种变体的两种方法之间的 误差 现在我想根据结果创建 3D 曲面图 x gt on x axis y gt on y axis Error gt o
  • 使用覆盖率信息测试 Go 中的 os.Exit 场景 (coveralls.io/Goveralls)

    这个问题 如何在 Go 中测试 os exit 场景 https stackoverflow com questions 26225513 how to test os exit scenarios in go 以及其中得票最高的答案 列出
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 我可以使用子接口重新编译公共 API 并保持二进制兼容性吗?

    我有一个公共 API 在多个项目中多次使用 public interface Process
  • 测试弱引用

    在 Java 中测试弱引用的正确方法是什么 我最初的想法是执行以下操作 public class WeakReferenceTest public class Target private String value public Targe
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL

随机推荐

  • 在 Converter 中将 JSF 日历日期转换为 JodaTime

    JodaTime 可能是最好的日期和时间库 因此 我很想从后台 bean 的 JodaTime 实例中的前端 xhtml Calendar 小部件接收用户输入 因此我正在考虑使用 JSF Converter 来完成这项工作 这样做明智吗 同
  • 在node.js 中创建链式方法?

    是否可以在 Node js 中创建像这样的异步链式方法 File create file jpg rename renamed jpg append Hello World 也就是说非阻塞 你基本上想要abstractAPI 上的文件处理操
  • ShapeDrawable 中的偏移形状

    我正在尝试使用扩展 ShapeDrawable 的类来绘制一个带有边框的圆角矩形 请参阅here https stackoverflow com questions 2145131 trying to draw a button how t
  • 有没有基于bootstrap的可视化网页编辑器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在完全自动反转重复周期之间延迟 SwiftUI 中的重复动画

    我正在 SwiftUI 中构建一个 Apple Watch 应用 它可以读取用户的心率并将其显示在心形符号旁边 我有一个动画可以让心形符号反复跳动 由于我知道实际用户的心率 因此我希望使其以与用户心率相同的速率跳动 并在每次速率变化时更新动
  • GAM SDK 测试安装后不显示 Gmail 上下文小工具

    在 Google Apps Marketplace SDK 中测试安装流程后 我无法在 Gmail 中看到上下文小工具 以下是我创建项目所采取的步骤 以域管理员身份登录 创建 Google Apps 控制台项目 创建 OAuth2 客户端
  • 如何在 Angular 6+ 中的本地计算机上运行 Dist 文件夹?

    我正在构建应用程序Angular6 现在我运行命令ng build prod这给了我一个 dist 文件夹 如何在本地主机上检查或提供该文件夹 你可以使用http服务器 https www npmjs com package http se
  • 如何列出已安装的 go 软件包

    据我所知go distribution带有某种package manager After go 1 4 1我已经运行的安装go help为了找到任何能够列出本地安装的子命令go packages 但不幸的是没有 那么该怎么做呢 goinst
  • python: from x import y 改变之前的导入结果

    我试图理解 python 中的包和模块名称隐藏规则 并偶然发现了一种情况 我不明白为什么我看到的结果有意义 这种情况发生在 python 2 中 from future import absolute imports 和Python 3 假
  • HTML5 视频在移动浏览器上自动播放

    我使用以下 HTML5 和 JQuery 代码来播放 URL 位于数组 URLArray 中的视频播放列表 function NextFrag if index lt URLArray length VideoContainer html
  • PHP 数组表示法中的大括号

    我刚刚遇到了一段非常奇怪的 php 代码 oink pig 1 var dump oink oink pig 123123 echo oink pig gt 123123 echo oink pig gt 123123 它的工作原理类似于数
  • TypeScript + NodeJS readline 属性缺失

    我正在使用 TypeScript 开发一个小项目tsc v 2 4 2和节点 v6 10 3 我想在 CLI 中捕获按键 所以我尝试import as readline from readline 然后稍后使用readline emitKe
  • 使用列表项的多重过滤器逻辑

    以下代码将搜索任何重复的类 li class duplicate duplicate 在无序列表中的列表项中 它将显示结果 show and hide 其他的 当前版本 目前它适用于两种场景 First 它显示具有相同类别 至少一个或多个
  • Python 中 FFT 的循环加速(使用“np.einsum”)

    Problem 我想加速包含大量乘积和求和的 python 循环np einsum 但我也愿意接受任何其他解决方案 我的函数采用形状为 n n 3 的向量配置 S 我的情况 n 72 并对 N N 点的相关函数进行傅里叶变换 相关函数定义为
  • 任务 :':app:mergeDebugResources' 执行失败。安卓工作室

    我刚刚安装了 android studio 出现一个错误 我不知道如何修复 尝试干净的项目 如果不起作用的话 然后 转到项目部分中的 build gradle 尝试降级gradle版本 From dependencies classpath
  • 离子范围滑块 2.0.3

    我正在尝试使用离子范围滑块 2 0 3 URL http ionden com a plugins ion rangeSlider demo advanced html http ionden com a plugins ion range
  • 类型错误:无法读取未定义的属性(读取“html”)

    我正在尝试将 Jest 引入我当前的项目 然而 在初始设置过程中 我遇到了这个错误 并且无法正常运行 我该如何解决这个问题 我目前正在使用 vue cli 中的 vue2 Test suite failed to run TypeError
  • 使用 Excel 连接函数

    我正在尝试将 Excel 中三列的数据合并到一列中 例如 我想将 Product Location 和 Key id 合并到一列中 Product Location Key Id Car VA 86421910 Car VA 8642448
  • 在 header("Location: ") 调用后是否调用 exit 有关系吗?

    我似乎无法找到答案 直到我发现这个帖子 http www php net manual en function exit php 90713 on exit在 php net 上 发送 Location 标头 PHP 后will继续解析 h
  • Matlab:不正确的索引矩阵参考(或智胜matlab)

    我希望能够写jasmine http pivotal github io jasmine 类似于 Matlab 中的测试 所以像 expect myfibonacci 0 toBe 0 expect myfibonacci 5 toBe 1