[DEPRECATED] What frustrates you about MATLAB?

357 ビュー (過去 30 日間)
Oliver Woodford
Oliver Woodford 2011 年 2 月 16 日
編集済み: Rik 2023 年 6 月 13 日
I love MATLAB. It is so quick and easy to write software to do what you want. It has excellent debugging and profiling tools. It is cross platform, making code easy to share (assuming the other people have forked out for the not-so-cheap license). It has interfaces to other software.
However, there are some things about it that irk me. I'd like to hear from other people what things annoy them about MATLAB.
---------------------------------
Because this thread has become so large it is slow to load and navigate. Please post new answers in the second thread.
---------------------------------
  58 件のコメント
Rik
Rik 2022 年 12 月 10 日
I was given to understand when the move feature was introduced that moving to a different thread would be possible in the future. I don't know the timeline for that feature or whether they're still working on it. It might come together with a different change I'm expecting to be done somewhere in the next 6 months.
Moving between threads will really help keeping threads like this clean, as I could move 110 answers to two different threads to get this one back to 50. It will take me an afternoon, but the end result would be navigateable threads.

サインインしてコメントする。

回答 (160 件)

Oliver Woodford
Oliver Woodford 2011 年 2 月 16 日
MATLAB's figure rendering and exporting functions are so full of bugs and "features" it defies belief. The rendering is very slow and stalls computations - rendering should be in a separate thread and not delay computations (unless specified by the user). It is crazy that you can't have a seperate colormap per axes, either.
  9 件のコメント
Tayyip Ensar Özkaya
Tayyip Ensar Özkaya 2020 年 6 月 14 日
The 3D control of pointclouds is just the hell!!

サインインしてコメントする。


Ian
Ian 2011 年 3 月 28 日
  • GUIDE is a such an underpowered mess. Very poor set of widgets, endless bugs and terrible performance in the Guide editor (try moving sets of elements with the keyboard and weep!). TMW has dragged along hidden support of more UI widgets likes tabs, why can't they just update GUIDE and bring it.them into the modern age? Yair Altman does more in one blog post than TMW does in each year's paired releases to make GUIs better in Matlab!
  • UNICODE support -- why is TMW so far behind on this!?
  • Graphics quality -- graphics and text should be anti aliased by default and better composited, the pixel vomit is unacceptable on such an expensive product and one where its competitors are so ahead in this regard.
  • Poor OS X support. Failure to copy vector figures to clipboard is my biggest gripe.
  9 件のコメント
Steven Lord
Steven Lord 2022 年 3 月 10 日
According to the release R2022a Release Notes, "MATLAB now uses UTF-8 as its system encoding on Windows®, completing the adoption of Unicode® across all supported platforms."

サインインしてコメントする。


Jan
Jan 2011 年 2 月 16 日
Using a C-compiler not included in the list of known compilers is horrible. "mex -setup" calls an M-file, which calls a PERL script, which creates a DOS batch file, which is interpreted by another PERL script, which calls the compiler through the command line interface.
Strange. A tiny M-file could create the same command line call to the compiler also. But it would be much easier to adjust it to a different compiler.
  6 件のコメント
Praveen Kumar
Praveen Kumar 2019 年 6 月 24 日
編集済み: Praveen Kumar 2019 年 6 月 24 日
I had two subsystems(A and B). I want B inports which are conncected to which outports in A. Any ideas.

サインインしてコメントする。


David Young
David Young 2011 年 9 月 28 日
Overriding subsref and subsasgn in a class is spectacularly awkward.
The problem is this. Suppose you override subsref in order to change behaviour of obj(...). Then your subsref is also called for the syntax obj.propname. In order for it to handle this correctly (i.e. behave the same as the built-in subsref) it has to reimplement all the checks for access protections that are normally done by the system. For just how problematic this is, look at Daniel's answer to my question here.
Apart from this major difficulty, it's also inefficient for every subsref to have to switch on the indexing type ('.', '()', or '{}') on every call, and for the system to have to build a struct that includes the indexing type as well as the indexes.
As far as I can see, it would be so much better if the different indexing syntaxes called three different methods.
  5 件のコメント
Steven Lord
Steven Lord 2022 年 9 月 22 日
In release R2022b the matlab.mixin.indexing.RedefinesDot class has two new methods that allow you to implement cases like obj(index).property = value. See the Release Notes for more information.

サインインしてコメントする。


Oliver Woodford
Oliver Woodford 2011 年 2 月 16 日
It's very expensive (unless you're a student), especially if you use lots of toolboxes. Fortunately my company pays :), but if I start my own company I'll think twice about (ok, before) buying MATLAB.
  16 件のコメント
Chris van Halewyn
Chris van Halewyn 2020 年 5 月 6 日
Yep. Me too! I've got a Nexys4 board (£200 -not $33,000!) that I got because it is recommended for education/training and got Vivado (free) to program it. Vivado calls out for Matlab HDL tools on installation but they are not available under the home licence which would have been so cool...
Matlab, please sort out home licensing for HDL tools. It's time.

サインインしてコメントする。


Dan
Dan 2017 年 5 月 2 日
Functions and classes defined within a package should not have to import the package or refer to other members of the package with the package name ... the import should be automatic ...
Given the requirement to refer to the local package name within the class or function definitions ...
  • It is difficult to rename the package
  • It is difficult to place the package within another package
  • It clutters up the function and class code with import calls ...
Please fix...

Robert Cumming
Robert Cumming 2011 年 2 月 16 日
plot legends are not always placed in the "best" position - quite often its right slap bang on top of the data...
  3 件のコメント
DB
DB 2023 年 6 月 13 日
Actually, you can set the best position automatically by using the option 'best':
legend([plotxy],'plot of y over x ','Location','best')

サインインしてコメントする。


Sean
Sean 2011 年 9 月 27 日
I would love to just write x++; instead of x = x + 1;
  10 件のコメント
Rik
Rik 2022 年 10 月 25 日
I didn't ask the question, as you may have noticed. I just suggested that if you want people to actually listen to you, you might want to soften your tone. Your comments read to me like insults, which I hope is not your intention.
I am not familiar with the name Oxygen as a programming language/tool. However, GNU Octave is not phishing about for programs that support auto-increments. It is a very specific example, as GNU Octave is a 'mostly Matlab-compatible' program. In general, differences between Octave and Matlab are treated as bugs. You should think of Octave as the thing closest to a drop-in replacement for Matlab as is possible. So it actually is a valid point of comparison.

サインインしてコメントする。


Csaba
Csaba 2013 年 12 月 4 日
My current frustration is with the Matlab editor: when the same M-script source is open in both the Matlab editor and another code editor (certain things are more efficient in the other editor), and the Matlab editor detects a change that was made to the file outside, it reloads (which is correct) - but it also forgets about all location information from before the reload, and jumps to the beginning of the file.
I would expect this is just an oversight (how hard would it be to remember the line at which the cursor was before reload - even if the code change that triggered the reload shifted content, most of the time this would be by only a few lines or pages, still much better than starting from the top of the file every_time_ ...).
And if that's not feasible, at least letting the bookmarks survive the reload would be a reasonable work-around, but sadly no, they are erased as part of the reload as well.
Am I the only one having trouble with this?
  4 件のコメント
Samuel Gray
Samuel Gray 2022 年 10 月 24 日
編集済み: Samuel Gray 2022 年 10 月 24 日
"yes, my Students also get the Same issues, I need some Guidence on this
Regards,"
...don't you hae to run GUIDE in Matlab, just to use it?
Um, the MATLAB GUI is the product of a program that runs in Matlab
just as GUIDE is. It's just that the MATLAB GUI is run by Matlab when it launches.

サインインしてコメントする。


Oliver Woodford
Oliver Woodford 2011 年 2 月 16 日
MATLAB is lacking tools for saving movies in decent compressed video formats (e.g. MPEG4, H.264 etc.). Currently I find myself saving a huge list of PNG files, then converting these to a video in an external application, which is far from ideal.
  4 件のコメント
Rik
Rik 2022 年 10 月 25 日
Did you read the page you linked to? The list of supported codecs doesn't contain H.264. That isn't strange, because (based on the formatting of the page) the documentation you linked to is for Matlab 6.5 or older, which predates H.264 by 2 years.
The point wasn't that you can't write a movie file with Matlab, but that you can't use a codec with a decent compression. At least this was true in 2011.

サインインしてコメントする。


Patrick
Patrick 2011 年 10 月 27 日
The figure-export is a pain, if annotation are used they will move about, not all of them and not much and not to any order (at least nothing i could recognise) but sometimes a few mm in the odd direction.
  1 件のコメント
K E
K E 2012 年 7 月 25 日
Also, quality of copied figures is poor (blurry lines/text) and requires workarounds like export_fig .

サインインしてコメントする。


Richard Finley
Richard Finley 2012 年 1 月 30 日
I have been a licensed user of MATLAB for the past 20 years. I am also a big Mathematica user and sometimes use Maple and Mathcad and of course I love R and Python. I have enjoyed using MATLAB for my numerical work, but the licensing hassles have driven me to the point that I am considering just dropping it after all these years. I don't mind paying the (substantial) price for my license -- but then just let me do my work -- whether it is on my main desktop or my laptop. I used to just get the update CDs and my license number by email and no hassles. Are you really making more money by stopping piracy with all your licensing hassles? I doubt it. You are driving away your paying customers/user base. I sympathize with this (former) user: http://mybrainextension.blogspot.com/2011/07/aaaarrrrrrgh-matlab.html
  5 件のコメント
karl hoitsma
karl hoitsma 2021 年 8 月 16 日
amen

サインインしてコメントする。


Ian
Ian 2011 年 3 月 28 日
Lack of OpenCL support: TMW forces us to depend firstly on a toolbox for this functionality, and secondly on the vendor lock-in using CUDA. Mathematica builds this in to its core, not some toolbox, and provides both CUDA and OpenCL support so we aren't forced to a single GPU vendor.
  6 件のコメント