Error message: Matrix Dimensions must agree

1 Ansicht (letzte 30 Tage)
Ian Strahley
Ian Strahley am 18 Nov. 2020
Kommentiert: Walter Roberson am 3 Feb. 2025
Not sure what I am doing wrong:
syms x
n = 0:1:100;
t = 0:0.1:50;
lamda = (n .* pi);
u = (100 .* cosd(lamda .* x) + (sind(lamda .* x)) .* (exp((-lamda .^ 2) .* t) ;
fplot(t,u)
grid on
Thank you

Antworten (2)

Vinay
Vinay am 29 Jan. 2025
The issue arises due to mismatch in matrix dimensions between "exp((-lambda .^ 2))" and "t", which are of sizes "1x101" and "1x501", respectively.
To resolve this issue, adjust the dimensions of the vector "t" to 1x101. This can be achieved by modifying the definition of t as follows:
t = 0:0.5:50;
I hope this resolves the query!

VBBV
VBBV am 3 Feb. 2025
  • Use linspace to divide the data points uniformly for variables in the equation.
  • use a function handle, when plotting function fplot
  • Ensure the parenthesis are closed correctly
n = linspace(0,100,10);
t = linspace(0,50,10);
lamda = (n .* pi);
u = @(x) 100 .* cosd(lamda .* x) + (sind(lamda .* x) .* exp((-lamda .^ 2) .* t)) ;
fplot(u,[0 1])
grid on
  1 Kommentar
Walter Roberson
Walter Roberson am 3 Feb. 2025
use a function handle, when plotting function fplot
There are two different fplot() functions, one of which is defined for function handles, and the other (closely related) one is defined for symbolic expressions and symbolic functions. In theory, using fplot() with symbolic expressions should be fine, if a bit slower than the function handle case.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by