rectify the error in the code below
4 ビュー (過去 30 日間)
古いコメントを表示
number of rows in b = 10;
I want to subtract each row of b with a i get... number of columns in both 'a' and 'b' are 128....
on some evaluation i get a as zero... that time when i execute the below code i get error
for i = 1 : size(b,1)
X(i,1) = sum(w * ((a(1,:) - b(i,:)).^2) / (a(1,:) + b(i,:)));
end
my error is
??? Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==> DemoFile at 147
X(i,1) = sum(w * ((a(1,:) - b(i,:)).^2) / (a(1,:) + b(i,:)));
why am i getting the error... please can someone rectify it... i want the code to work even if the value of a is zero and sort the matrix X....
please can someone rectify it for me...
0 件のコメント
採用された回答
その他の回答 (1 件)
Roger Stafford
2014 年 11 月 17 日
If 'w' has more than one column, you will get an error because
w * ((a(1,:) - b(i,:)).^2)
is performed before the division.
However, I suspect you meant to write
w .* ((a(1,:) - b(i,:)).^2) ./ (a(1,:) + b(i,:))
if 'w' is a row vector with 128 columns or
w * ((a(1,:) - b(i,:)).^2) ./ (a(1,:) + b(i,:))
if it is a scalar.
1 件のコメント
Guillaume
2014 年 11 月 18 日
I thought at first that the division was meant to be element-wise as well. But the result is assigned to a scalar ( X(i, 1)), so it has to be a matrix division.
参考
カテゴリ
Help Center および File Exchange で Semiconductors and Converters についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!