Info

此问题已关闭。 请重新打开它进行编辑或回答。

Getting the error of inner dimensions must agree

1 次查看(过去 30 天)
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

回答(2 个)

Walter Roberson
Walter Roberson 2018-2-3
Use .* instead of *

Abdullah Nasir
Abdullah Nasir 2018-2-3
Thank you for the help Can I know the explanation where was I wrong
  1 个评论
Walter Roberson
Walter Roberson 2018-2-6
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

此问题已关闭。

Community Treasure Hunt

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

Start Hunting!

Translated by