Sudden error "Conversion to double from struct is not possible"

9 views (last 30 days)
The error message occurred suddenly after many successful runs of a script and without altering the line nor any near it. tried in command window and the result was the same. The line appears to be a precise replica of the example line in Matlab help.
>> set(gcf,'WindowState','maximized')
Error using set
Conversion to double from struct is not possible.
The Products box below will not allow me to enter MATLAB
The tags box below will not allow me to enter anything!

Accepted Answer

Walter Roberson
Walter Roberson on 5 Dec 2020
You might have assigned a value to a variable named gcf
Or possibly you introduced a new function named gcf
which gcf
  10 Comments
David Slater
David Slater on 6 Dec 2020
Thank you indeed, Walter. The problem is now solved. In my earlier efforts to add a title to a figure, I had changed
set(gcf,'WindowState','maximized')
to
gcf.WindowState='maximized';
and I had failed to realize that I hadn't changed it back. This had the effect of assigning a value to gcf each time a ran the script and turning it into a variable.This cancelled the result of
clear gcf
Changing the line in the script back to a set command has cured the problem. I will now gratefully accept your answer.
Thanks again.
David.
Walter Roberson
Walter Roberson on 6 Dec 2020
Ah yes, that could do it.
Unfortunately gcf and gca are functions . Although with a relatively recent change to MATLAB it is possible to hack to be able to access properties of the object returned, you cannot assign to it:
>> struct('T', gcf).T.WindowState
ans =
'normal'
I do not recommend this hack.

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Object Properties in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!