在 MATLAB 中用两个数组的减法和除法实现一个方程
Implement an equation with a subtraction and division of two arrays in MATLAB
我想在 Matlab 中实现这个方程
a 值在一个 140x1 双精度数组中,称为 approx,x 的值也在一个 140x1 双精度数组中,称为 subArray,n 是一个 1x1 数组,其值等于 140。
我正在使用以下代码:
MRE=(1/n)*(abs(approx(:,1)- subArray(:,1))/abs(subArray(:,1)));
但我收到以下错误
左右两边的元素个数不同,无法赋值
如何在 Matlab 中实现这个方程?
给你element-wise division
。也不要忘记求和:
MRE = (1/n) * sum((abs(approx - subArray) ./ abs(subArray)));
^^^ ^
使用一些随机数据:
clc, clear, rng(3);
n = 140;
approx = rand(n, 1);
subArray = rand(n, 1);
MRE = (1/n) * sum((abs(approx - subArray) ./ abs(subArray)))
% MRE =
%
% 4.2877
我想在 Matlab 中实现这个方程
a 值在一个 140x1 双精度数组中,称为 approx,x 的值也在一个 140x1 双精度数组中,称为 subArray,n 是一个 1x1 数组,其值等于 140。
我正在使用以下代码:
MRE=(1/n)*(abs(approx(:,1)- subArray(:,1))/abs(subArray(:,1)));
但我收到以下错误
左右两边的元素个数不同,无法赋值
如何在 Matlab 中实现这个方程?
给你element-wise division
。也不要忘记求和:
MRE = (1/n) * sum((abs(approx - subArray) ./ abs(subArray)));
^^^ ^
使用一些随机数据:
clc, clear, rng(3);
n = 140;
approx = rand(n, 1);
subArray = rand(n, 1);
MRE = (1/n) * sum((abs(approx - subArray) ./ abs(subArray)))
% MRE =
%
% 4.2877