Is it possible to disable or get warnings when using .* on mismatched vectors?

조회 수: 2 (최근 30일)
I've finally moved up from 2014b and I see there is a new feature(s) that lets you do math operations that would have previously resulted in errors. For example, you can now use .* on vectors of different shapes. I can see how this could be handy sometimes, but in practice, I lose track of whether a vector is a row or column and instead of getting an error, MATLAB makes a big matrix and moves on. In bad cases, the math to follow is also valid resulting in weird answers. Is there a way to at least have this give out a warning?

채택된 답변

Jan
Jan 2017년 12월 13일
편집: Jan 2017년 12월 13일
No. Modern Matlab versions use "auto-expanding" e.g. for the elementwise multiplication .* . There is no way to produce a warning for this new standard behavior.
This has been discussed repeatedly and emotionally, because it has some advantages, but is an evil break with backward compatibility.
  댓글 수: 1
Walter Roberson
Walter Roberson 2017년 12월 13일
I know that I for one would like to be able to disable it during my test / debugging cycles.
For example it is not uncommon for me to grab existing software to try to assist someone with it -- software I did not write. That software sometimes has bugs in row vs column use. If I just go ahead and run it, then implicit expansion can end up silently giving me strange results, which I might not be able to easily distinguish from the other bugs in the code.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by