找回密码
 注册
关于网站域名变更的通知
查看: 1794|回复: 2
打印 上一主题 下一主题

MATLAB app designer的代码视图灰色区域(不可编辑)出现错误怎么办?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-12-14 18:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 sharkN 于 2020-12-14 18:26 编辑 : \6 @& \" G. U
$ p$ u2 O& _5 Z, B" J
1、我在MATLAB的app designer模块设计一个简单的控制界面,有三盏灯,分别用不同开关控制它的颜色变化和频率:; k' h" X) Z6 U; J: p
     1)switch1就是左右切换lamp1的颜色;
) }1 D. j: c, L: B3 a     2)switch2是切换“On”后闪烁频率为0.5秒的颜色切换;  g0 z, i6 N+ f( h9 _
     上面两个我之前已经运行成功了1 L% m  ~" S* K- W& ]6 E) s
     3)lamp3复杂一点,通过输入读取三个值:Temperature(温度)、Humidity(湿度)、WinDSPeed(风速)来列式计算出HCI(人体舒适度指数),然后在半圆形仪表(HCI)中显示出来,再用if判定一下等级在圆形仪表(HCI_Grade)中显示,若满足相应等级,灯就变色。
- K/ W+ e) E- d: R. K8 u% J# O: S- ?/ ^# [7 r3 j1 e$ _
MATLAB版本是64位R2016b,操作系统是64位Windows8。请教大神,非常感谢!$ ]' O* V$ }5 J% C
   界面如下:
, x/ e3 M, h+ @5 y' X) |
0 z$ H6 Y* r# |+ Z: o! e( l
* ^: F0 C" [  y# S8 m( }; O2、完整代码如下:4 `$ w$ Y4 j1 G2 F7 N
  • classdef App2 < matlab.apps.AppBase
  •     % Properties that correspond to app components
  •     properties (Access = public)
  •         UIFigure      matlab.ui.Figure
  •         Lamp2Label    matlab.ui.control.Label
  •         Lamp2         matlab.ui.control.Lamp
  •         Switch2Label  matlab.ui.control.Label
  •         Switch2       matlab.ui.control.Switch
  •         Panel         matlab.ui.container.Panel
  •         PMVPanel      matlab.ui.container.Panel
  •         Lamp3Label    matlab.ui.control.Label
  •         Lamp3         matlab.ui.control.Lamp
  •         Label         matlab.ui.control.Label
  •         Temperature   matlab.ui.control.NumericEditField
  •         Label_2       matlab.ui.control.Label
  •         Humidity      matlab.ui.control.Slider
  •         msKnobLabel   matlab.ui.control.Label
  •         WindSpeed     matlab.ui.control.Knob
  •         Label_4       matlab.ui.control.Label
  •         HCI_Grade     matlab.ui.control.Gauge
  •         Button        matlab.ui.control.Button
  •         Label_3       matlab.ui.control.Label
  •         HCI           matlab.ui.control.SemicircularGauge
  •         Lamp1Label    matlab.ui.control.Label
  •         Lamp1         matlab.ui.control.Lamp
  •         Switch1Label  matlab.ui.control.Label
  •         Switch1       matlab.ui.control.RockerSwitch
  •     end
  •     properties (Access = private)
  •         HCI
  •         HCI_Grade
  •     end
  •     methods (Access = private)
  •         % Code that executes after component creation
  •         function startupFcn(app)
  •             app.Lamp1.Color = 'black';
  •             app.Lamp2.Color = 'black';
  •             app.Lamp3.Color = 'black';
  •             app.Temperature.Value = 0;
  •             app.Humidity.Value = 0;
  •             app.WindSpeed.Value = 0;
  •             app.HCI.Value = 0;
  •             app.HCI_Grade.Value = 0;
  •         end
  •         % Value changed function: Switch2
  •         function Switch2ValueChanged(app, event)
  •             value = app.Switch2.Value;
  •             if strcmp(value,'0')
  •                 app.Lamp2.Color = 'black';
  •                 value = '1';
  •             else
  •                 i = 0;
  •                 while(i<10)
  •                    app.Lamp2.Color = 'green';
  •                    pause(0.5);
  •                    app.Lamp2.Color = 'red';
  •                    pause(0.5);
  •                    i = i+1;
  •                 end
  •                 value = '0';
  •             end
  •         end
  •         % Value changed function: Switch1
  •         function Switch1ValueChanged(app, event)
  •             value = app.Switch1.Value;
  •             if strcmp(value,'0');
  •                 app.Lamp1.Color = 'black';
  •                 value = '1';
  •             else
  •                 app.Lamp1.Color = 'yellow';
  •                 value = '0';
  •             end
  •         end
  •         % Button pushed function: Button
  •         function ButtonPushed(app, event)
  •             t = app.Temperature.Value;
  •             f = app.Humidity.Value;
  •             v = app.WindSpeed.Value;
  •             ssd = (1.818*t+18.18)*(0.88+0.002*(f/100))+(t-32)/(45-t)-3.2*v+18.2;
  •             app.HCI.Value = ssd;
  •             if ssd<25
  •                 app.HCI_Grade.Value = -4;
  •             else if ssd<38
  •                 app.HCI_Grade.Value = -3;
  •             else if ssd<50
  •                 app.HCI_Grade.Value = -2;
  •             else if ssd<58
  •                 app.HCI_Grade.Value = -1;
  •             else if ssd<70
  •                 app.HCI_Grade.Value = 0;
  •             else if ssd<75
  •                 app.HCI_Grade.Value = 1;
  •             else if ssd<79
  •                 app.HCI_Grade.Value = 2;
  •             else if ssd<85
  •                 app.HCI_Grade.Value = 3;
  •             else
  •                 app.HCI_Grade.Value = 4;
  •             end
  •             value = app.HCI_Grade.Value;
  •             if (value>-2)&&(value<2)
  •                 app.Lamp3.Color = 'green';
  •             else
  •                 app.Lamp3.Color = 'red';
  •             end
  •         end
  •     end
  •     % App initialization and construction
  •     methods (Access = private)
  •         % Create UIFigure and components
  •         function createComponents(app)
  •             % Create UIFigure
  •             app.UIFigure = uifigure;
  •             app.UIFigure.Position = [100 100 814 621];
  •             app.UIFigure.Name = 'UI Figure';
  •             setAutoResize(app, app.UIFigure, true)
  •             % Create Lamp2Label
  •             app.Lamp2Label = uilabel(app.UIFigure);
  •             app.Lamp2Label.HorizontalAlignment = 'right';
  •             app.Lamp2Label.FontWeight = 'bold';
  •             app.Lamp2Label.FontAngle = 'italic';
  •             app.Lamp2Label.Position = [43 425 44 15];
  •             app.Lamp2Label.Text = 'Lamp2';
  •             % Create Lamp2
  •             app.Lamp2 = uilamp(app.UIFigure);
  •             app.Lamp2.Position = [102 422 20 20];
  •             % Create Switch2Label
  •             app.Switch2Label = uilabel(app.UIFigure);
  •             app.Switch2Label.HorizontalAlignment = 'center';
  •             app.Switch2Label.FontWeight = 'bold';
  •             app.Switch2Label.FontAngle = 'italic';
  •             app.Switch2Label.Position = [172.5 392 50 15];
  •             app.Switch2Label.Text = 'Switch2';
  •             % Create Switch2
  •             app.Switch2 = uiswitch(app.UIFigure, 'slider');
  •             app.Switch2.ItemsData = {'0', '1'};
  •             app.Switch2.ValueChangedFcn = createCallbackFcn(app, @Switch2ValueChanged, true);
  •             app.Switch2.FontWeight = 'bold';
  •             app.Switch2.FontAngle = 'italic';
  •             app.Switch2.Position = [175 422 45 20];
  •             app.Switch2.Value = '0';
  •             % Create Panel
  •             app.Panel = uipanel(app.UIFigure);
  •             app.Panel.Title = 'Panel';
  •             app.Panel.Position = [-434 252 260 221];
  •             % Create PMVPanel
  •             app.PMVPanel = uipanel(app.UIFigure);
  •             app.PMVPanel.TitlePosition = 'centertop';
  •             app.PMVPanel.Title = 'PMV';
  •             app.PMVPanel.BackgroundColor = [0.9686 0.9176 0.9176];
  •             app.PMVPanel.Position = [289 175 482 422];
  •             % Create Lamp3Label
  •             app.Lamp3Label = uilabel(app.PMVPanel);
  •             app.Lamp3Label.HorizontalAlignment = 'right';
  •             app.Lamp3Label.FontWeight = 'bold';
  •             app.Lamp3Label.FontAngle = 'italic';
  •             app.Lamp3Label.Position = [127 31 44 15];
  •             app.Lamp3Label.Text = 'Lamp3';
  •             % Create Lamp3
  •             app.Lamp3 = uilamp(app.PMVPanel);
  •             app.Lamp3.Position = [186 28 20 20];
  •             % Create Label
  •             app.Label = uilabel(app.PMVPanel);
  •             app.Label.HorizontalAlignment = 'right';
  •             app.Label.FontWeight = 'bold';
  •             app.Label.Position = [25 364 96 15];
  •             app.Label.Text = '平均气温(℃)';
  •             % Create Temperature
  •             app.Temperature = uieditfield(app.PMVPanel, 'numeric');
  •             app.Temperature.Limits = [0 40];
  •             app.Temperature.ValueDisplayFormat = '%.2f';
  •             app.Temperature.HorizontalAlignment = 'center';
  •             app.Temperature.Position = [136 360 110 22];
  •             % Create Label_2
  •             app.Label_2 = uilabel(app.PMVPanel);
  •             app.Label_2.HorizontalAlignment = 'right';
  •             app.Label_2.FontWeight = 'bold';
  •             app.Label_2.Position = [25 299 94 15];
  •             app.Label_2.Text = '相对湿度(%)';
  •             % Create Humidity
  •             app.Humidity = uislider(app.PMVPanel);
  •             app.Humidity.FontWeight = 'bold';
  •             app.Humidity.FontAngle = 'italic';
  •             app.Humidity.Position = [132 316 124 3];
  •             % Create msKnobLabel
  •             app.msKnobLabel = uilabel(app.PMVPanel);
  •             app.msKnobLabel.HorizontalAlignment = 'center';
  •             app.msKnobLabel.FontWeight = 'bold';
  •             app.msKnobLabel.Position = [337 247 78 15];
  •             app.msKnobLabel.Text = '风速(m/s)';
  •             % Create WindSpeed
  •             app.WindSpeed = uiknob(app.PMVPanel, 'continuous');
  •             app.WindSpeed.Limits = [0 20];
  •             app.WindSpeed.FontWeight = 'bold';
  •             app.WindSpeed.FontAngle = 'italic';
  •             app.WindSpeed.Position = [336 296 81 81];
  •             % Create Label_4
  •             app.Label_4 = uilabel(app.PMVPanel);
  •             app.Label_4.HorizontalAlignment = 'center';
  •             app.Label_4.FontWeight = 'bold';
  •             app.Label_4.Position = [296 90 122 15];
  •             app.Label_4.Text = '人体舒适度指数分级';
  •             % Create HCI_Grade
  •             app.HCI_Grade = uigauge(app.PMVPanel, 'circular');
  •             app.HCI_Grade.Limits = [-4 4];
  •             app.HCI_Grade.FontWeight = 'bold';
  •             app.HCI_Grade.FontAngle = 'italic';
  •             app.HCI_Grade.Position = [303 120 108 108];
  •             % Create Button
  •             app.Button = uibutton(app.PMVPanel, 'push');
  •             app.Button.ButtonPushedFcn = createCallbackFcn(app, @ButtonPushed, true);
  •             app.Button.BackgroundColor = [1 1 0];
  •             app.Button.FontWeight = 'bold';
  •             app.Button.Position = [288 22 92 32];
  •             app.Button.Text = '按钮';
  •             % Create Label_3
  •             app.Label_3 = uilabel(app.PMVPanel);
  •             app.Label_3.HorizontalAlignment = 'center';
  •             app.Label_3.FontWeight = 'bold';
  •             app.Label_3.Position = [104 104 96 15];
  •             app.Label_3.Text = '人体舒适度指数';
  •             % Create HCI
  •             app.HCI = uigauge(app.PMVPanel, 'semicircular');
  •             app.HCI.Position = [65 134 164 89];
  •             % Create Lamp1Label
  •             app.Lamp1Label = uilabel(app.UIFigure);
  •             app.Lamp1Label.HorizontalAlignment = 'right';
  •             app.Lamp1Label.FontWeight = 'bold';
  •             app.Lamp1Label.FontAngle = 'italic';
  •             app.Lamp1Label.Position = [43 540 44 15];
  •             app.Lamp1Label.Text = 'Lamp1';
  •             % Create Lamp1
  •             app.Lamp1 = uilamp(app.UIFigure);
  •             app.Lamp1.Position = [102 537 20 20];
  •             % Create Switch1Label
  •             app.Switch1Label = uilabel(app.UIFigure);
  •             app.Switch1Label.HorizontalAlignment = 'center';
  •             app.Switch1Label.FontWeight = 'bold';
  •             app.Switch1Label.FontAngle = 'italic';
  •             app.Switch1Label.Position = [172 485 50 15];
  •             app.Switch1Label.Text = 'Switch1';
  •             % Create Switch1
  •             app.Switch1 = uiswitch(app.UIFigure, 'rocker');
  •             app.Switch1.ItemsData = {'0', '1'};
  •             app.Switch1.ValueChangedFcn = createCallbackFcn(app, @Switch1ValueChanged, true);
  •             app.Switch1.FontWeight = 'bold';
  •             app.Switch1.FontAngle = 'italic';
  •             app.Switch1.Position = [184 524 20 45];
  •             app.Switch1.Value = '0';
  •         end
  •     end
  •     methods (Access = public)
  •         % Construct app
  •         function app = App2()
  •             % Create and configure components
  •             createComponents(app)
  •             % Register the app with App Designer
  •             registerApp(app, app.UIFigure)
  •             % Execute the startup function
  •             runStartupFcn(app, @startupFcn)
  •             if nargout == 0
  •                 clear app
  •             end
  •         end
  •         % Code that executes before app deletion
  •         function delete(app)
  •             % Delete UIFigure when app is deleted
  •             delete(app.UIFigure)
  •         end
  •     end
  • end

  • - _/ K% c+ [! W2 u- b9 i

$ f0 @5 x: ]% m$ l) U$ P9 G: A

3 A6 q8 o7 @4 y) @+ n9 U3、出错代码如下:& i4 {% P# X+ u& I
  •    % App initialization and construction
  •    methods (Access = private)
  • * f' n3 `: I& m& d" o4 b2 [

- x3 z( |( q0 \% U5 L3 R! ^. n: u
5 F+ w! x) @3 }$ Q

- ]. b* n( B. C+ K7 G+ ?# ^可是这部分代码是灰色区域的,是不可编辑修改的,如下图。我该怎么消除错误?是不是添加的属性有问题?
( p1 q1 i( l( [+ e; W7 }8 n% s, a8 ^8 H1 `, D$ W0 T

: o% f& A, U2 `+ k0 V* T" U8 \+ x9 M2 c$ C8 O# M# R3 s

2 B! w  s+ [: w$ \/ ?7 |
8 |% S2 n/ ?# J8 s2 \6 x1 a

该用户从未签到

2#
发表于 2020-12-14 18:45 | 只看该作者
报错不是因为这些,是其他相关位置。。。

该用户从未签到

3#
发表于 2025-2-7 14:06 来自手机 | 只看该作者
前面一个function多写了一个end也可能,我就找了一天才解决,给你报下一个function的错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-31 15:51 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表