rmse — Compute root mean squared error between two arrays.

rmse(F,A) computes sqrt(mean(abs(F-A).^2)). MATLAB-compatible implicit expansion, dimension selection, "all", missing-value flags, and "Weights",W for single-dimension reductions are supported.

Syntax

E = rmse(X, Y)
E = rmse(X, Y, "Weights", W)
E = rmse(X, Y, dim)
E = rmse(X, Y, dim, nanflag)
E = rmse(X, Y, dim, nanflag, "Weights", W)

Inputs

NameTypeRequiredDefaultDescription
XAnyYesInput data array.
YAnyYesSecond input data array.
optionNameStringScalarNo"Weights"Name-value option name.
WNumericArrayNoObservation weights.
dimAnyNoDimension, dimension vector, or "all" selector.
optionsAnyVariadicOptional dimension and missing-value arguments.

Returns

NameTypeDescription
YNumericArrayComputed statistic.

Errors

IdentifierWhenMessage
RunMat:rmse:InvalidArgumentInputs, flags, dimensions, or options are malformed.descriptive statistics: invalid argument
RunMat:rmse:InternalInternal tensor conversion or allocation fails.descriptive statistics: internal error

How rmse works

  • F and A may be scalars or compatible-size numeric or complex arrays.
  • NaNs are included by default.
  • "omitnan" and "omitmissing" skip NaN residuals and NaN weights in each slice.
  • "Weights",W accepts scalar weights, full-size weights, or a vector matching the reduction dimension.
  • Weights are rejected with "all" or vector-dimension reductions.
  • Weights must be nonnegative; zero total weight returns NaN.

Examples

Root mean squared error

e = rmse(predicted, actual)

Weighted column-wise error

e = rmse(F, A, 1, "Weights", W)

Using rmse with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how rmse changes the result.

Run a small rmse example, explain the result, then change one input and compare the output.

FAQ

How are weights normalized?

Weighted RMSE uses sqrt(sum(W.*E.^2)/sum(W)) over each reduction slice.

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how rmse is executed, line by line, in Rust.

About RunMat

RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.

  • RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
  • Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.