首先,在用户界面编辑窗口添加4个命令按钮(显示是OK的用个PUSH BUTTON),再如下图所示添加5个静态文本框(Static Text)、5个编辑文本框(Edit Text)和一个坐标系(Axes)

其次,按下表设置每个控件的属性值(具体操作是:右击要设置属性的控件——property inspector 命令——在弹出的属性窗口中找到相应的属性名称——将该属性的值修改成自己需要的值)

控件名

属性

属性修改值

PushButton1

FontSize

16

String

螺旋线

Tag

pushbuttonLxx

PushButton2

FontSize

16

String

内摆线

Tag

pushbuttonNBX

PushButton3

FontSize

16

String

圆旋转成圆环

Tag

pushbuttonCtoC

PushButton4

FontSize

16

String

退出

Tag

pushbuttonExit

Static Text1

String

大圆半径

Static Text2

String

小圆半径

Static Text3

String

修正值

Static Text4

String

圆半径

Static Text5

String

离转轴的距离

Edit Text1

String

空或设置成一个适定值,如10

Tag

editBCR

Edit Text2

String

空或设置成一个适定值,如2

Tag

editSCR

Edit Text3

String

空或设置成一个适定值,如1

Tag

editXZZ

Edit Text4

String

空或设置成一个适定值,如4

Tag

editCR

Edit Text5

String

空或设置成一个适定值,如10

Tag

editBExit

注:上面控件名称的编号,比如1,2之类,在界面上是没有的,只是我按照从上到下的次序,为方便叙述而编写的。

最后,添加程序(在添加程序前,最好先将文件保存一下,比如以Exp8.m为文件名保存),添加程序的常用方法是:单击菜单命令view——M-file Editor,此时,得到下面的程序:

function varargout = Exp8(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @Exp8_OpeningFcn, ...

'gui_OutputFcn', @Exp8_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

%上面的是系统初始化代码,绝对不要去修改它们。

function Exp8_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

%上面的代码,告诉我们,一般的用户界面的自己设置的初始化状态应添加在这个函数内。

function varargout = Exp8_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

%上面的函数返回的量直接到命令窗口。

function pushbuttonLxx_Callback(hObject, eventdata, handles)

%上面的函数是点击螺旋线按钮时,执行的代码,即可以在此处添加有关螺旋线的程序代码。

function pushbuttonNBX_Callback(hObject, eventdata, handles)

%上面的函数是点击内摆线按钮时,执行的代码,即可以在此处添加有关内摆线的程序代码。

% --- Executes on button press in pushbuttonExit.

function pushbuttonExit_Callback(hObject, eventdata, handles)

%上面的函数是点击退出按钮时,执行的代码,即可以在此处添加退出时的程序代码。

function editBCR_Callback(hObject, eventdata, handles)

%上面的函数是 editBCR这个编辑文本按钮回调时,执行的代码。

BigCircleRadial=str2double(get(hObject,'String'));

function editBCR_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editBCR的属性值。

function editSCR_Callback(hObject, eventdata, handles)

%上面的函数是editSCR这个编辑文本按钮回调时,执行的代码。

function editSCR_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editSCR的属性值。

function editXZZ_Callback(hObject, eventdata, handles)

%上面的函数是editXZZ这个编辑文本按钮回调时,执行的代码。

function editXZZ_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editXZZ的属性值。

function pushbuttonCtoC_Callback(hObject, eventdata, handles)

%上面的函数是点击圆旋转成圆环按钮时,执行的代码,即可以在此处添加圆旋转成圆环时的程序代码。

function editCR_Callback(hObject, eventdata, handles)

%上面的函数是editCR这个编辑文本按钮回调时,执行的代码。

function editCR_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editCR的属性值。

function editDist_Callback(hObject, eventdata, handles)

function editDist_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editDist的属性值。

下面真正添加自己的程序,最后成的程序如下:自己添加的程序用红色表示。

function varargout = Exp8(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @Exp8_OpeningFcn, ...

'gui_OutputFcn', @Exp8_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

%上面的是系统初始化代码,绝对不要去修改它们。

function Exp8_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

%这里选择了一个图片文件,作为初始画面,具体的图片可以选择自己喜欢的。

map1=imread('Water lilies.jpg');

image(map1)

%上面的代码,告诉我们,一般的用户界面的自己设置的初始化状态应添加在这个函数内。

function varargout = Exp8_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

%上面的函数返回的量直接到命令窗口。

function pushbuttonLxx_Callback(hObject, eventdata, handles)

%上面的函数是点击螺旋线按钮时,执行的代码,即可以在此处添加有关螺旋线的程序代码。

axes(handles.axes1)

cla

v=2;

alf=pi/6;

omg=pi/5;

t=0:0.01:100;

x=v*sin(alf).*cos(omg*t).*t;

y=v*sin(alf).*sin(omg*t).*t;

z=v*cos(alf).*t;

%plot3(x,y,z)

axis([-100 100 -100 100 0 160])

grid on

axis equal on

comet3(x,y,z)

%上面的程序是“一质点,沿着已知圆锥面的一条直母线自圆锥的顶点起,作等速直线运动,另一方面这一条母线在圆锥面上,过圆锥的顶点绕圆锥的轴(旋转轴)作等速的转动,这时质点在圆锥面上的轨迹”的动态形成过程。

function pushbuttonNBX_Callback(hObject, eventdata, handles)

%上面的函数是点击内摆线按钮时,执行的代码,即可以在此处添加有关内摆线的程序代码。

axes(handles.axes1)

cla

a=str2double(get(handles.editBCR,'String'));

b=str2double(get(handles.editSCR,'String'));

k=str2double(get(handles.editXZZ,'String'));

axis([-a-2 a+2 -a-2 a+2 0 a+2])

line([-a-2,a+2],[0,0]);

hold on

line([0,0],[-a-2,a+2

u=0:pi/30:2*pi;

x=a*cos(u);

y=a*sin(u);

plot(x,y)

x=b*cos(u)+a-b;

y=b*sin(u);

plot(x,y)

axis equal on

grid on

theta=0:pi/1800:k*a*pi;

x=(a-b)*cos(b/a*theta)+b*cos((a-b)/a*theta);

y=(a-b)*sin(b/a*theta)-b*sin((a-b)/a*theta);

comet(x,y)

%上面的程序是内摆线的动态的形成过程

% --- Executes on button press in pushbuttonExit.

function pushbuttonExit_Callback(hObject, eventdata, handles)

%上面的函数是点击退出按钮时,执行的代码,即可以在此处添加退出时的程序代码。

ss=questdlg('你真的要退出吗?','退出信息窗口!','不,我还想看看!','是的,我要退出!','是的,我要退出!');

switch ss

case '是的,我要退出!'

delete(handles.figure1);

end

%上面的程序是退出程序时信息窗口

function editBCR_Callback(hObject, eventdata, handles)

%上面的函数是 editBCR这个编辑文本按钮回调时,执行的代码。

function editBCR_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editBCR的属性值。

function editSCR_Callback(hObject, eventdata, handles)

%上面的函数是editSCR这个编辑文本按钮回调时,执行的代码。

function editSCR_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editSCR的属性值。

function editXZZ_Callback(hObject, eventdata, handles)

%上面的函数是editXZZ这个编辑文本按钮回调时,执行的代码。

function editXZZ_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editXZZ的属性值。

function pushbuttonCtoC_Callback(hObject, eventdata, handles)

%上面的函数是点击圆旋转成圆环按钮时,执行的代码,即可以在此处添加圆旋转成圆环时的程序代码。

axes(handles.axes1)

cla

%a=4;

%b=10;

a=str2double(get(handles.editCR,'String'));

b=str2double(get(handles.editDist,'String'));

u=0:pi/30:2*pi;

y=a.*cos(u)+b;

z=a.*sin(u);

n=length(u);

x=0*ones(1,n);

if a

axis([-b-2 b+2 -b-2 b+2 -a-2 a+2])

else

axis([-a-2 a+2 -a-2 a+2 -b-2 b+2])

end

plot3(x,y,z)

pause(1)

for t=0:pi/60:2*pi

x=y.*sin(t);

y1=y.*cos(t);

plot3(x,y1,z)

pause(0.1)

grid on

hold on

%axis equal on

%view([-20,0])

end

%上面的程序是圆旋转成圆环的动态的形成过程

function editCR_Callback(hObject, eventdata, handles)

%上面的函数是editCR这个编辑文本按钮回调时,执行的代码。

function editCR_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editCR的属性值。

function editDist_Callback(hObject, eventdata, handles)

function editDist_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editDist的属性值。

matlab 可视化界面,Matlab?的可视化界面设计相关推荐

  1. matlab 可视化界面,Matlab 的可视化界面设计(上)

    一个可发布的应用程序通常都需要具备一个友好的图形界面(比如,我们开课时或给学生上课而使用课件时,我们一般就会用到可视化界面).这样用户不需要知道应用程序究竟是怎样执行各种命令的, 而只需要了解可见界面 ...

  2. 基于MATLAB的数字图像处理系统GUI界面设计

    基于MATLAB的数字图像处理系统GUI界面设计 图像读入 从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图 ...

  3. matlab在杨氏单缝,基于matlab的单缝衍射和双缝干涉可视化模拟(毕业学术论文设计).doc...

    PAGE 1 ? 闽江学院 本科毕业论文(设计) 题 目 基于matlab的单缝衍射 和双缝干涉可视化模拟 学生姓名 学 号 1200810011031 系 别 物理学与电子信息工程系 年 级 08级 ...

  4. fcm模糊聚类matlab实例_一文学会使用MATLAB将仿真、试验数据可视化附带源程序

    科研人员.在校学生和走向工作岗位的同事,一定需要对仿真数据和实验数据进行可视化,用于论文发表或.申请专利或向领导汇报工作. 在进行数据可视化展示过程中,我们也可以选择其他的工具PPT.Excel.Or ...

  5. matlab 三维饼图,重新学习MATLAB——作图技法及3D可视化

    了解点儿MATLAB,知道它非常有用,但一直不太会用,如何快速掌握并运用它呢? 本专栏力争用最简洁的语言和逻辑,让您在最短时间内,学到教材课程中罕见的MATLAB运用技法,从新手迈向成手. 超强的MA ...

  6. Matlab实现 线性动态电路可视化分析

    Matlab实现 线性动态电路可视化分析 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 编程思路 这个编程总体采用面向过程的编程思想,将人在 ...

  7. matlab 二值化_基于MATLAB的指纹识别系统[GUI界面+万字技术文档+语音播报]

    一.课题介绍 本设计为基于MATLAB的指纹识别系统.本设计系统主要对指纹图像进行三方面处理:图像预处理.特征提取和特征匹配.图像预处理包括四个步骤:图像灰度化.滤波增强.二值化.细化,对指纹图像进行 ...

  8. matlab恶狼追兔问题,MATLAB恶狼追兔的可视化问题.doc

    MATLAB恶狼追兔的可视化问题 <MATLAB>课程设计 恶狼追兔的可视化问题 院(系)名称 信息工程学院 专 业 班 级 09普本信计1班 学 号 MATLAB 课程设计评阅书 题目恶 ...

  9. matlab电学成像,利用MATLAB进行电磁学计算及可视化教学.PDF

    利用MATLAB进行电磁学计算及可视化教学.PDF 第 2 8 卷 第 2 期 电气电子教学学报 Vol . 28 No . 2 2006 年 4 月 J OU RN AL O F EEE Ap r ...

  10. 基于Matlab人脸识别签到系统(GUI界面)

    文件大小:5.3M 代码行数:298行(主程序) 开发环境:Matlab2016.2017.2018.2020.2021 点击下载:点击下载 简要概述:基于Matlab人脸识别签到系统(GUI界面) ...

最新文章

  1. “解剖”HIGO徐易容:关于创业、后悔、喝酒和滑雪
  2. 多线程的操作与数据绑定
  3. code vs 1026 逃跑的拉尔夫
  4. BOM中的那点事-location
  5. 在redis取数据若存在直接取,不存在在db中取,并放到缓存中
  6. EAS BOS 介绍
  7. 第二十次CCF CSP认证考试经验
  8. 李宏毅2020机器学习深度学习(完整版)国语课程PPT
  9. java graphics类详解_Java中Graphics2D类的使用操作解析
  10. oracle create table not null,oracle – 不能在CREATE TABLE中使用内联约束
  11. 计算机专业会涉及数学吗,数学不好的人还适合学计算机吗?
  12. Rust学习教程03 - 安装Rust环境
  13. 【运放学习】:虚短、虚短、虚地、深度负反馈
  14. 微信小程序-如何解决view中放纯数字或字母不会自动换行?【亲测有效】
  15. BSD License
  16. 论坛项目-3-过滤敏感词
  17. html邮件修改不了图片,邮件模板中的图片不显示,该怎么解决
  18. 1.wap是个什么东东~
  19. 帝国时代3无法计算机丢失,win7系统无法安装帝国时代提示3d3dx9_25.dll丢失怎么办...
  20. java右移位_java移位运算符详解

热门文章

  1. 欧奈尔4个经典形态_股票K线图基础知识:图解4大经典K线组合形态
  2. Java虚拟机(十四)——垃圾回收算法
  3. php 将表情存入数据库,php + mysql 存入表情 【如何轉義emoji表情,讓它可以存入utf8的數據庫】...
  4. linux as4,as4是linux系统吗?
  5. python访问excel的类_Python实现的Excel文件读写类
  6. python什么是数据结构_Python中最有效的图形数据结构是什么?
  7. mysql flask-login_Flask框架通过Flask_login实现用户登录功能示例
  8. 安装pgsql解压版操作步骤
  9. pycharm同步代码到远程服务器
  10. 解决JupyterLab/JupyterNotebook安装pycherts后依旧报错报错 ModuleNotFoundError: No module named ‘pyecharts‘