如何在 Octave 中声明符号矩阵?

2024-02-08

在 MatLab 中,您可以非常轻松地声明符号:

syms a,b
mat = [a,b]

但是,当我尝试在 Octave 中复制此内容时,出现错误。这是我正在使用的代码:

> symbols
> a = sym("a")
a =

a
> b = sym("b")
b =

b
> mat = [a,b]
error: octave_base_value::resize (): wrong type argument `ex'
error: octave_base_value::resize (): wrong type argument `<unknown type>'
octave-3.2.3.exe:4:C:\Octave\3.2.3_gcc-4.4.0\bin

如何声明八度符号矩阵?


如果您还没有符号包,请下载它。从 Octave 命令行或 gui 命令行。例如

octave> pkg install -forge symbolic

如果您安装了 python 和 sympy,那么它将从 Octave Forge 为您安装该软件包。我用谷歌找出如何安装 sympy,如果您需要帮助,请联系我。

安装符号包后,使用“pkg load”导入包函数,然后使用 syms 函数声明符号。

octave> pkg load symbolic

octave> syms a b

这定义了符号a和b。

octave> syms
Symbolic variables in current scope:
  a
  b

“syms”本身将打印您定义的所有符号。

octave> mat = [a,b]
mat = (sym) [a  b]  (1×2 matrix)

octave:34> mat * 2
ans = (sym) [2⋅a  2⋅b]  (1×2 matrix)

我发现这个包对于计算我的机器人操纵器类的旋转矩阵非常有帮助。希望这可以帮助。

这是我的脚本的一部分以获取更多示例:

pkg load symbolic
syms psi phi theta psidot phidot thetadot

RzPsi = [[cos(psi), -sin(psi), 0]; [sin(psi), cos(psi), 0]; [0,0,1]]
RyTheta = [[cos(theta), 0, sin(theta)];[0,1,0];[-sin(theta), 0, cos(theta)]]
RzPhi = [[cos(phi), -sin(phi), 0]; [sin(phi), cos(phi), 0]; [0,0,1]]

RzPsi = (sym 3×3 matrix)

  ⎡cos(ψ)  -sin(ψ)  0⎤
  ⎢                  ⎥
  ⎢sin(ψ)  cos(ψ)   0⎥
  ⎢                  ⎥
  ⎣  0        0     1⎦

RyTheta = (sym 3×3 matrix)

  ⎡cos(θ)   0  sin(θ)⎤
  ⎢                  ⎥
  ⎢   0     1    0   ⎥
  ⎢                  ⎥
  ⎣-sin(θ)  0  cos(θ)⎦

RzPhi = (sym 3×3 matrix)

  ⎡cos(φ)  -sin(φ)  0⎤
  ⎢                  ⎥
  ⎢sin(φ)  cos(φ)   0⎥
  ⎢                  ⎥
  ⎣  0        0     1⎦

octave> RzPhi * RyTheta
ans = (sym 3×3 matrix)

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

如何在 Octave 中声明符号矩阵? 的相关文章

  • Matlab-如何在曲线上绘制切线

    我在 matlab 中绘制了一个图表 plot x y 我的图表有不同的斜率 我如何在每个斜率上绘制切线并计算斜率的系数 如果您没有用于绘制点的显式函数 您可以使用有限差分 http en wikipedia org wiki Finite
  • 如何在Matlab中自定义轮廓线?

    我正在准备一个等高线图 我应该在其中突出显示特定级别的等高线 例如 我的轮廓线值位于 1 和 1 之间 我想突出显示与值 0 相对应的线 我尝试使用以下过程来执行此操作 M c contourf longitude latitude del
  • 在 MATLAB 中使用 FFT 的频率响应

    这是场景 使用频谱分析仪 我有输入值和输出值 样本数是32000采样率为2000样本 秒 输入是正弦波50 hz 输入为电流 输出为压力 单位 psi 我如何使用 MATLAB 根据这些数据计算频率响应 使用 MATLAB 中的 FFT 函
  • 在 MATLAB 中检索 spfun、cellfun、arrayfun 等中的元素索引

    有什么办法可以找回index调用函数的元素的cellfun arrayfun or spfun行为 即检索函数范围内元素的索引 为了简单起见 假设我有以下玩具示例 S spdiags 1 4 0 4 4 f spfun x 2 x S 它构
  • 计算数组中接下来的 n 个元素的乘积

    我想计算下一个的乘积n矩阵的相邻元素 号码n要相乘的元素数应在函数的输入中给出 例如 对于此输入 我应该从第一个开始计算每 3 个连续元素的乘积 p ind max product 1 2 2 1 3 1 3 这给出了 1 2 2 2 2
  • 两个 y 轴与相同的 x 轴[重复]

    这个问题在这里已经有答案了 可能的重复 在单个图中绘制 4 条曲线 具有 3 个 y 轴 https stackoverflow com questions 1719048 plotting 4 curves in a single plo
  • 如何使用matlab生成不同频率的正弦波?

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

    我正在编写一个程序 使用 Matlab 列出电影字幕文件中的所有唯一单词 现在我有一个独特的单词列表 我想将其翻译成我的语言并在观看电影之前了解其含义 有谁知道如何在 Matlab 中使用 Google Translate 以便完成我的脚本
  • 使用 MATLAB 进行线路跟踪

    我有一个图像 我想将其转换为逻辑图像 包括线条为黑色 背景为白色 当然 可以使用阈值方法来实现这一点 但我不想使用这种方式来做到这一点 我想通过使用线路跟踪方法或类似的方法来检测它 这是关于视网膜血管检测的 我找到了一个article ht
  • 两个向量之间的欧氏距离(单行矩阵)

    我有两个向量 单行矩阵 假设我们已经知道长度len A x1 x2 x3 x4 x5 B y1 y2 y3 y4 y5 计算它们之间的欧几里德距离最快的方法是什么 我的第一次尝试是 diff A B sum 0 for column 1 l
  • MATLAB:具有复数的 printmat

    我想使用 MATLAB 的printmat显示带有标签的矩阵 但这不适用于复数 N 5 x rand N 1 y rand N 1 z x 1i y printmat x y z fftdemo N 1 2 3 4 5 x y x iy O
  • Matlab 和 Python 中的优化算法(dog-leg trust-region)

    我正在尝试使用 Matlab 和 Python 中的狗腿信赖域算法求解一组非线性方程 在Matlab中有fsolve https www mathworks com help optim ug fsolve html其中此算法是默认算法 而
  • 使用符号求解器仅求解某些变量

    我正在尝试在 MATLAB 中求解包含 3 个变量和 5 个常量的方程组 是否可以使用solve求解三个变量 同时保持常量为符号而不用数值替换它们 当您使用SOLVE http www mathworks com access helpde
  • matlab中的正则逻辑回归代码

    我正在尝试正则化 LR 在 matlab 中使用以下公式很简单 成本函数 J theta 1 m sum y i log h x i 1 y i log 1 h x i lambda 2 m sum theta j 梯度 J theta t
  • 检测植物图片中的所有分支

    我想知道有什么可以检测下图中的所有绿色树枝 目前我开始应用 Frangi 过滤器 options struct FrangiScaleRange 5 5 FrangiScaleRatio 1 FrangiBetaOne 1 FrangiBe
  • Octave 3 与 4 脚本兼容性;可执行 Octave 程序的真实文档在哪里

    第 1 部分 在 Octave 3 4 3 在 centos 6 6 上 中 以下脚本文件 joe m 但对于 3 xminus no gui bin bash for bash exec octave q no gui no init f
  • 如何更改Plotyy第二轴的颜色和字体大小?

    我使用 MATLAB 的plotyy 函数绘制了两条曲线 AX H1 H2 plotyy voltage span amplitude voltage span Ca SR The problem is that I cannot chan
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 如何在文本集中创建所有字符组合?

    例如 我有这样的文本集 第 1 栏 a b 第 2 栏 l m n 第 3 栏 v w x y 我想将它们组合起来以获得如下输出 alv alw alx aly amv amw amx amy 这将输出 24 种文本组合 如果我只使用前两列
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得

随机推荐

  • 如何将元素追加到列表而不跟踪索引?

    我正在寻找r questions tagged r相当于这个简单的代码python questions tagged python mylist for this in that df 1 mylist append df 基本上只是创建一
  • 再次提供多线程帮助 (winForms)

    我开发了一个应用程序 每 X 数量的线程从数据库中提取 X 数量的记录 然后 每个线程都会迭代创建的集合 并对每条记录进行一些数据验证 一旦应用程序验证 未验证记录 它就会在数据库中更新为有效 无效 仅当数据库中存在尚未通过应用程序运行的项
  • Wildfly 作为 systemd 服务

    我想在centos7中将wildfly domain作为systemd服务 在 root 用户的作品中 但是当我启动它时wilfly用户一段时间后显示错误 java lang OutOfMemoryError 无法创建新的本机线程ESC 并
  • 将 Rust 编译为 wasm(Web 程序集)时,如何休眠 10 毫秒?

    我的 Rust 程序正在管理 2d html 画布上下文的内存 我试图达到 60fps 我可以轻松计算出每帧之间的增量 结果大约约为 5 毫秒 我不清楚如何让我的 Rust WebAssembly 程序休眠剩余的 11 毫秒 一种选择是让
  • Python 中旧式协程和新式协程的调用/返回协议有什么区别?

    我正在从旧式协程过渡 其中 yield 返回 send 提供的值 但是 本质上是生成器 到带有 async def 和 await 的新型协程 有几件事确实让我困惑 考虑以下旧式协程 它计算提供给的数字的运行平均值 它通过 发送 在每个点返
  • Windows 上 Node 的 PhantomJS

    我使用 Node 编写了一个 Electron 应用程序 电子样板 https github com szwacz electron boilerplate and phantom https www npmjs com package p
  • 如何在 ASP.NET MVC 中进行 IgnoreRoute 的单元测试

    在 ASP NET MVC 中 我可以获得有关路由和自定义路由的单元测试的信息 但我不知道如何对 IgnoreRoute 进行单元测试 路线 IgnoreRoute resource axd pathInfo 实用的代码非常受欢迎 ASP
  • 使用iOS5.1设置UIToolbar背景图片

    我使用以下代码将图像 Sample 设置为 UIToolbar 的背景颜色 self toolbar layer contents id UIImage imageNamed Sample png CGImage 但似乎上面的方法在iOS5
  • 通过 Windows 控制台使用 Docker:本地卷名称包含无效字符 $PWD

    我尝试通过 Windows 控制台 Windows 10 使用 Docker 运行 Python 程序 我已经让 Windows 控制台支持 Docker你好世界 但是当我跑步时 docker run it rm name my runni
  • 验证码 重新验证码不再起作用

    昨天工作正常 但今天验证码不再出现 我调试了代码 我意识到我的 joomla 插件 captcharecaptcha 在将页面渲染为 javascript 文件时包含此文件 http api recaptcha net js recaptc
  • 用javascript数组填充struts2 select标签

    是否可以在加载时用 javascript 数组填充 Struts 2 选择标记 我有一个代码
  • 适用于 Android 的 I-Phone 虚拟机

    我正在考虑打开一个项目来为 android 2 0 创建一个 iPhone 虚拟机 请阅读 motorola droid 在此之前我有一些问题 是否已经存在我刚刚错过的一个 Droid 的 Arm Cortex A8 降频至 550MHz
  • 连接两个列表的笛卡尔积的字符串(最好没有 for 循环)[重复]

    这个问题在这里已经有答案了 使用 for 循环迭代和连接单词以创建多个排列 我的 for 循环可以工作 但我不想使用 for 循环 因为我希望将代码放在一行上 这样我就可以创建一个变量 我有什么选择 我意识到的基本问题 这是我想要连接的两个
  • 在 FTP 客户端中使用 grep 和 ls?

    我怎样才能使用grep and ls在 FTP 客户端 我的意思是 如果我想找到一些可以使用的特定文件 ls l grep pattern 对于通常的 Unix 命令行交互式 ftp 一种方法是 Remote system type is
  • My https my site com https my site com网站有一些如下所示的 html
  • 检查单元测试是否委托了所有方法

    假设我有以下课程 public abstract class Foo public int bar implementation public abstract int bar2 和一个基类 以便更轻松地为此类编写装饰器 public cl
  • 算术运算的右侧必须是“any”、“number”或枚举类型

    我在 JS 中有这段代码 我需要让它在 TypeScript 中工作 它一直在说 算术运算的右侧必须是 any number 或枚举类型 sort field reverse primer var key primer function x
  • 使用 jQuery 防止第二个按钮单击

    我的页面上有一个按钮 如果用户第二次单击该按钮 我不想执行任何操作 我有以下代码 但它不起作用 有人可以帮忙吗 myButton click function var count 0 count alert button if count
  • C 有跨平台文件 IO/路径 util 库吗?

    是否有一些 C 库可以实现与平台无关的路径操作版本 我想到的一些例子 从相对路径获取绝对路径 不需要文件存在 确保目录存在 创建一个文件 如果不存在 以及给定路径中缺少的任何目录 连接路径 获取路径的目录部分 获取路径的文件名部分 还有很多
  • 如何在 Octave 中声明符号矩阵?

    在 MatLab 中 您可以非常轻松地声明符号 syms a b mat a b 但是 当我尝试在 Octave 中复制此内容时 出现错误 这是我正在使用的代码 gt symbols gt a sym a a a gt b sym b b