【问题标题】:Multiplication Error in Integral Function in MATLABMATLAB中积分函数的乘法误差
【发布时间】:2021-02-20 04:26:56
【问题描述】:

我想编写一个函数,它使用 sin(x) 和 cos(x) 函数的组合,然后将其整合以得到一个标量值。但是,当我运行代码时,我收到一个错误,指出矩阵的维度在积分函数中不匹配,但它们实际上匹配。我将 1x2 矩阵与 2x1 矩阵相乘。我应该得到一个乘法的标量值。你能帮忙吗?

y = zeros(2,2);
y(1,1) = 100;
y(1,2) = 5;
y(2,1) = 200;
y(2,2) = 10;

fun = @(x) ([sin(x) cos(x)] * [y(:,1) - y(:,2)]);

q = integral(fun,0,Inf);

【问题讨论】:

  • 阅读文档到integral,你会看到它同时为很多点调用你的函数,所以你的函数需要向量化。你下面的解决方案没问题。

标签: matlab matrix-multiplication integral


【解决方案1】:

我找到了解决这个问题的方法。我没有使用矩阵,而是将函数转换为标量形式。这样就不会产生乘法错误。

fun = @(x) sin(x)*(y(1,1)-y(1,2)) + cos(x)*(y(2,1)-y(2,2));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 2016-01-09
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多