Error message: Matrix Dimensions must agree

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

답변 (2개)

Vinay
Vinay 2025년 1월 29일

0 개 추천

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 2025년 2월 3일
  • 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

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.

댓글을 달려면 로그인하십시오.

카테고리

질문:

2020년 11월 18일

댓글:

2025년 2월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by