Error using .* Matrix dimensions must agree.
조회 수: 10 (최근 30일)
이전 댓글 표시
M = 25;
alpha = (M-1)/2;
n = 0:M-1;
hd = (2/pi)*((sin((pi/2)*(n-alpha)).^2)./(n-alpha));
hd(alpha+1)=0;
w_han = '(hann(M))';
h = hd .* w_han; %%%here is the error
댓글 수: 2
KALYAN ACHARJYA
2020년 12월 27일
편집: KALYAN ACHARJYA
2020년 12월 27일
Array multiplication between numeric array and character array??
> whos hd
Name Size Bytes Class Attributes
hd 1x25 200 double
>> whos w_han
Name Size Bytes Class Attributes
w_han 1x9 18 char
Aim?
w_han??
채택된 답변
KALYAN ACHARJYA
2020년 12월 27일
편집: KALYAN ACHARJYA
2020년 12월 27일
In this case hd is numeric array with size 25
whos hd
Name Size Bytes Class Attributes
hd 1x25 200 double
Whereas w_han is character array with size 9
>> whos w_han
Name Size Bytes Class Attributes
w_han 1x9 18 char
Once you try to multiply between the numeric array and the character array, you supose to get an error as follows
Error using .*
Matrix dimensions must agree.
If somehow you increase the size of w_han to 25, then no error can occur. Are you really looking for that? In such case it get multiplied with ASCII code of respective character, see the example
>> a='m'
a =
'm'
>> b=5;
>> c=b.*a
c =
545
Here b is multiplied with ASCII code of m, which is 109, as
>> 5*109
ans =
545
I just want to mention this point, so that you can get the idea, if somehow an error cannot occur, it can happen in such a case.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!