MATLAB Answers

Using an Array as an input

2 views (last 30 days)
James Wilson
James Wilson on 21 Apr 2021
Commented: James Wilson on 21 Apr 2021
I am trying to compute the energy produced by a solar panel in a 24 hour period using a personally mde function computeEnergy.
function [Energy Total_Energy] = computeEnergy(Pan, t)
Energy = exp(-(((t-12)^2)/(1.5*sqrt(2*pi))));
Total_Energy = Pan*Energy;
While using t = [1:24] and Pan = 1 as inputs, I get the errors :
Error using ^ (line 51)
Incorrect dimensions for raising a matrix to a power. Check that the matrix is square and the power is a
scalar. To perform elementwise matrix powers, use '.^'.
Error in computeEnergy (line 8)
Energy = exp(-(((t-12)^2)/(1.5*sqrt(2*pi))));
I don't know where I need to incorporate new code to fix the problem.

Answers (1)

James Tursa
James Tursa on 21 Apr 2021
Edited: James Tursa on 21 Apr 2021
The error message actually tells you exactly what to do. Use element-wise operator .^ instead of the matrix operator ^
Energy = exp(-(((t-12).^2)/(1.5*sqrt(2*pi))));


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by