首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jacobian()时出错:“MuPAD命令错误:索引超出矩阵维度。”

使用jacobian()时出错:“MuPAD命令错误:索引超出矩阵维度。”
EN

Stack Overflow用户
提问于 2014-04-19 21:02:39
回答 2查看 762关注 0票数 0

我有F_test.m函数

代码语言:javascript
复制
function [ F_t ] = F_test( x )
F_t(1)=x(2)^2+5*x(1);
F_t(2)=x(1)+7*x(2);
end

我想计算这个函数的雅可比矩阵

代码语言:javascript
复制
[dF1/dx(1), dF2/dx(1) ; dF1/dx(2), dF2/dx(2)]

但是当我尝试这样做的时候,我得到了一个错误

代码语言:javascript
复制
jacobian(F_test(x),x)
Error using mupadmex
Error in MuPAD command: Index exceeds matrix dimensions.

Error in sym/subsref (line 1577)
        B = mupadmex('symobj::subsref',A.s,inds{:});

Error in F_test (line 4)
F_t(1)=x(2)^2+5*x(1);

即使是这样

代码语言:javascript
复制
    syms x
jacobian([x(1)+x(2),x(1)*x(2)],x)
Error using mupadmex
Error in MuPAD command: Index exceeds matrix dimensions.

Error in sym/subsref (line 1577)
        B = mupadmex('symobj::subsref',A.s,inds{:});
EN

回答 2

Stack Overflow用户

发布于 2014-04-19 21:32:05

Thnak,但我找到了计算这个的方法。

代码语言:javascript
复制
x=sym('x',[1 2])
jacobian(F_test(x),x)
票数 1
EN

Stack Overflow用户

发布于 2014-04-19 21:25:19

对于此错误

代码语言:javascript
复制
Error in F_test (line 4)
F_t(1)=x(2)^2+5*x(1);

我认为你的其中一个问题可能是这个:你正在做这个

代码语言:javascript
复制
F_t(1)=x(2)^2+5*x(1);
F_t(2)=x(1)+7*x(2);

F_t从未在您的函数中初始化(大小未知)

并确定如何使用jacobian(f,v)

http://www.mathworks.fr/fr/help/symbolic/jacobian.html

(对不起,不确定,我很久没用过MatLab了)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23170394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档