Azzera filtri
Azzera filtri

Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

Getting the error of inner dimensions must agree

1 visualizzazione (ultimi 30 giorni)
Abdullah Nasir
Abdullah Nasir il 3 Feb 2018
Chiuso: MATLAB Answer Bot il 20 Ago 2021
Below is the code for which I am getting the error
deltapsi=(-40:5:30)
deltathi=(9*(deltapsi.^2))/(8*3.142);
p=1
S=sin(deltathi-deltapsi)-(p*sin(deltapsi)*sin(deltathi));
The error is
Error using *
Inner matrix dimensions must agree.
Error in Untitled (line 4)
S=sin(deltathi-deltapsi)-(p*sin(deltapsi)*sin(deltathi));
I need to plot S versus deltapsi

Risposte (2)

Walter Roberson
Walter Roberson il 3 Feb 2018
Use .* instead of *

Abdullah Nasir
Abdullah Nasir il 3 Feb 2018
Thank you for the help Can I know the explanation where was I wrong
  1 Commento
Walter Roberson
Walter Roberson il 6 Feb 2018
The .* operator is formally called times and multiplies corresponding elements in two arrays that are the same size. It can be used for arrays of more than 2 dimensions. https://www.mathworks.com/help/matlab/ref/times.html
The * operator that you used is formally called mtimes, and is algebraic matrix multiplication. The two arrays it multiplies are not generally the same size, but must be 2D, and the number of columns of the first array must equal the number of rows of the second array -- P x N * N x Q giving P x Q. https://www.mathworks.com/help/matlab/ref/mtimes.html

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by