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

6 次查看(过去 30 天)
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!

采纳的回答

Walter Roberson
Walter Roberson 2020-12-5
You might have assigned a value to a variable named gcf
Or possibly you introduced a new function named gcf
which gcf
  10 个评论
David Slater
David Slater 2020-12-6
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 2020-12-6
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Object Properties 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by