微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MATLAB积分函数中的乘法误差

如何解决MATLAB积分函数中的乘法误差

我想编写一个函数,该函数使用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,Inf);

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。