没有合适的资源?快使用搜索试试~ 我知道了~
首页matlab使用过程中的常见问题解答
资源详情
资源推荐
MATLAB 中文论坛相关帖子整理
(www.ilovematlab.cn)
说明:
本资料所有问题及代码均摘选自matlab中文论坛(www.ilovematlab.cn),主要供自己学习使用。
非常感谢论坛的所有提出以及解答问题的会员。
目录
1、GUI新手之--教你读懂GUI的M文件10
2、GUI程序中改变current directory引起的问题15
3、GUI中h0bject和handles 的区别16
4、handles结构中句柄和对象的关联问题17
5、Matlab利用定时器连续显示图片的问题19
5-1、GUI中实现在图片任意位置上标注text22
5-2、使用edit的另外一种callback22
6、MATLAB 如何实现图像的任意裁减?22
7、坐标轴标注刻度、网格、文字方向23
8、Matlab中对uitable的操作:调节各列宽度,设定某列是可编辑的24
9、将在Matlab下编写的GUI转成独立于Matlab平台的应用程序25
10、要将用Matlab语言编写的函数文件编译成可独立执行的*.exe文件28
11、matlab GUI程序转换成exe可执行文件31
12、gui生成独立的应用程序的发布问题33
13、GUI控制simulink模块及参数的综合实例!34
13-1、在axes显示图像后,在图像上单击鼠标时,回调函数的定义规则和使用方法35
14、如何在循环中加入waitbar,并在waitbar上添加'取消'按钮36
15、在matlab中对信号进行FFT变换38
16、动态显示figure中曲线的x-y坐标值的一个函数40
17、在GUI界面的打开按钮中,如何对文件进行操作42
18、Matlab不同控件之间的数据传递问题45
19、在edit box里输入相关数据后,直接按回车键,不用鼠标点击pushbutton 就可以直接执行46
19-1 GUI使用editbox输入数据后如何自动清除数据46
20、在GUI中,计算结果怎么用excel来保存到指定的文件夹中47
21、如何得到popupmenu选项中最后一个字符串的VALUE值49
22、回调函数互相调用的问题49
http://www.PHPget.cn Page 1
22-2string和number相互转换的问题50
23、这样的功能的pushbutton的callback怎么写呀,谢谢了50
24、GUI中axes使用subplot时的清空及axes大小的固定的解决方法51
25、退出GUI时如何把全局变量中的值清空?53
26、从串口接受数据时,如何把波形绘制到指定的坐标轴上?53
27、两个GUI之间如何传递数据55
28-1 几个有用的帖子57
28-2、GUI之间互相调用和关闭问题60
29、GUI timer定时器60
30、如何在循环中加入waitbar61
31、如何连续读入图片!!62
32、如何把此次输入的值保存为下一次初始化的值63
33、Matlab关于解决自动保存gcf的问题63
34-1、在matlab里面如何读取excel里面的数据或者写入数据65
34-2、在excel中连续输入数据。66
35、Matlab GUI不同控件之间的数据传递问题68
36、怎么统计一个十进制数中"0"的个数??求助!69
37、Matlab对listbox里的条目能否一条条单独设置回调函数?70
38、键盘操作:matlab GUI中如何取得从键盘输入的按键的键值72
39、GUI如何响应鼠标事件73
40、matlab 截图、图像处理76
41、MATLAB GUI中利用定时器制作动画 - [MATLAB]84
42、MATLAB如何从GUI中返回参数 - [MATLAB]86
43、MATLAB 中GUI子程序的参数传递 - [MATLAB]87
44、Matlab保存axes上的图的问题(包括坐标轴)88
45、Matlab鼠标控制的两个GUI例子(附代码)91
46、分享初学的一个GUI例子--新手好好看看(图)97
47、axes清除畫面113
48、GUI中调用自己制作的帮助文件114
49、关于从gui调用simulink114
50、如何将菜单中退出项和窗口关闭的回调函数合并?117
51、matlab 日历程序119
52、如何在GUI里得一个axes实现双Y坐标轴121
53、如何实现动态的GUI界面121
54、关于GUI和simulink参数传递和执行122
55、代码运行时间的计时方法134
56、如何在GUI指定的axes中再画一个axes135
57、按下鼠标左键并拖动鼠标时的作图方法136
58、图像处理相关资料137
59、保存axes坐标轴上画的曲线或图形140
60、在GUI中如何打开IE141
61、gui输入数据,通过rs232传给芯片141
62、Matlab关于gui和excel的问题142
63、matlab 如何显示数学公式145
64、修改matlab自带的tabdlg的字体和颜色148
65、求助 Matlab的RGB彩色图合成148
66、如何删除已绘制的曲线?149
67、总结一下,MATLAB中随机矩阵获得150
68、【原创】GUI设计中背景音乐的定制与关闭153
69、Matlab如何改变GRID 网格线的颜色?156
http://www.PHPget.cn Page 2
71、把plot图上的某些曲线排除在lengend之外,即不用legend标注出来157
72、如何连续对矩阵追加数值158
73、两个等直径圆管的交线160
74、Matlab的csvread读取数据的问题161
75、在对数坐标系插值的问题162
76、实现在原有图像上的部分图像变为白色162
78、如何实现双击listbox中的条目才表示选中163
79、如何删除矩阵中的NaN164
80、用平行截面法讨论由曲面z=x^2-y^2构成的马鞍面形状。164
81、如何利用ode45解方程165
82、Matlab图片如何批处理?pic变量逐一读取文件夹所有图片名165
83、方程为:exp(-x)=cos(x),用迭代法求出最小的正根,当相对误差<=10e-6时,求根结束。166
84、通过鼠标点击控制循环166
85、图像经连续小波分解后的显示效果图167
85-1、怎样查看图像的属性169
86、想产生如下的矩阵:6行10列,每行都是1 2 3 4 5 6 7 8 9 10。169
87、textread读取.txt中数据169
88、数制之间的转换怎么实现170
89、matlab读取大数据文件的方法172
90、从状态空间方程转换为传递函数174
91、生成0 1 2 3 4 5 6 7 8 随机出现大小为20X20的矩阵!174
92、存储绘图过程,并播放视频175
93、如何同时读入多个文件,并作图?175
94、MATLAB GUI编程中几个有用的程序段177
95、Matlab如何在给定区域随机取点?180
96、数据如何导入到workspace中,并执行?在GUI里面,怎么传递处理。180
97、matlab下画'心'的程序。181
98、点到直线的距离怎么求?181
99、如何绘制正态分布图?185
100、matlab作图时,如何只保存图像而不显示图像185
101、在三维图中只显示x,y轴,不显示z轴186
102、cell array和矩阵的显示186
103、矩阵形式的转换188
104、如何判断鼠标是否在figure内的某一区域?189
105、一个有用的程序189
106、窗口的最大化、最小化、图标、置顶191
107、连续生成文件名的问题193
108、编辑框edit中输入公式后的绘图问题194
109、MATLAB中plot命令绘图微调的几个注记 (转自职业仓库)195
110、MATlab 三维图中显示z坐标轴的极大极小值203
111、如何一次性清空GUI程序的handles结构中的变量203
112、Matlab如何给元胞中的每个一维向量前增加同一个数?204
113、用guide生成的不同GUI之间控件的互相操作206
114、自定义Matlab figure 工具栏按钮208
115、matlab 有没有按某个小数位数做四舍五入的函数?209
116、有关矩阵中小于某值的数取整的问题209
117、Matlab表面被截后的部分210
118、如何是imshow显示的图像充满整个figure?211
119、图像颜色统计直方图211
120、Matlab如何将大元胞数组写入到txt文件212
http://www.PHPget.cn Page 3
121、构造特殊矩阵(右螺线状的)213
122、figure中多坐标轴中曲线的legend标注214
123、GUI中鼠标选中并显示曲线的类型及坐标215
124、Matlab中y=1\x围绕y轴旋转形成的旋转曲面218
125、GUI程序一开始以'最大化'显示的问题219
126、如何实现文本自动转换219
1、GUI新手之--教你读懂GUI的M文件
GUIDE生成的GUI的M文件控制了你编制的GUI界面的所有属性和行为,或者说外观和对用户操作的响应。比如说按
下一个按钮或者选择了一个菜单项之类。M文件包括了运行你整个界面程序所需要的全部代码,包括所有GUI组件的
CALLBACKS函数。其实这些callbacks函数算是M文件里的子程序,callback里面就填写你所期望程序做的动作,比如画一
个图或者算一个算式。
插入,关于什么是子程序 懂的人跳过^_^
function [avg, med] = newstats(u) % Primary function
% NEWSTATS Find mean and median with internal functions.
n = length(u);
avg = mean(u, n);
med = median(u, n);
function a = mean(v, n) % Subfunction
% Calculate average.
a = sum(v)/n;
function m = median(v, n) % Subfunction
% Calculate median.
w = sort(v);
if rem(n, 2) == 1
m = w((n+1) / 2);
else
m = (w(n/2) + w(n/2+1)) / 2;
end
以上就是一个大的程序function nestats,它下面另外包含了两个小的function mean和median,这样在大程序的里面就可以
以如上的方式调用它们了。子程序的好处在于如果你总是要重复用到一组计算方式的时候,那你就把这组重复计算方式类
似以上的方法编写成一个子程序,避免大量重复代码。在M文件里面,会看到最外层,也就是最上面那一一行
function varargout = setfire(varargin)
(setfire是我m文件存的名字)就是那个大程序框,它下面有很多小function 比如什么什么creatFcn或者什么callback之类。
看上去那个复杂,其实就跟上面这个一样的道理。只不过是M文件的类似avg = mean(u, n);med = median(u, n);这两句话系统
隐藏(就当它是隐藏好了)起来了,它会在你点击鼠标(或者响应操作)时候自动去调用执行一次callback函数。所以你
只用管把代码写入响应的函数名下就行了。至于系统为什么会自动调用,我们不用管,我们只用知道,我点击鼠标,我拖
动滑竿时,系统会执行哪里的代码。就够了。
一、M文件的数据管理模式
Sharing Data with the Handles Structure :用handles这个东西共享数据
在你运行你的GUI的时候,M文件会自动生成一个叫做handles的东西(准确的说它属于handles 类型的结构体,且取的名
字也叫做handles),不用管那么复杂,只用知道你可以从它这里找到GUI的所有数据,比如说控件的信息,菜单信息,
http://www.PHPget.cn Page 4
axes信息。想象handles就是一个缸了,它里面装载了所有的信息,而且这个缸在各个控件的callback之间传来传去,理所当
然那每个控件的callback都可以放入一些想放入的数据,也可以从里面取出任何想要的数据包括别的控件的信息(比如滑
竿的当前值,edit text的当前值)和别的控件放进去的数据。
所以,用handles可以达到的目的有两个:
a,各个控件的callback的信息交换
(current_data是随便设置的变量名)
handles.current_data = X; 在某控件下的callback写入这一句,就表示你把这个数据放缸里了
guidata(hObject,handles);接着别忘了保存~!
然后在你需要的地方把它从缸里捞出来
X1 = handles.current_data;
b,读取GUI控件的信息,自然也可以设置GUI控件的信息(比如说背景色随着按钮点击而变换之类,或者你想让按钮
A点一下,字符B跳一下,也行。)
all_choices是随便取的变量名,my_menu是你那个菜单项的TAG名字
all_choices = get(handles.my_menu, 'String');
current_choice = all_choices{get(handles.my_menu, 'Value')};
这样current_choice就得到了用户界面操作中,目录或者菜单的选择结果。
所以,要什么信息,直接用handles.你的对象 就行了。
存什么信息也直接handles.你的对象 就行了。
如果是自己的数据,就.变量名;如果是控件信息,就用get set
二、M-File里的各个函数代表什么意思
在设计面板设计排列好自己需要的各种按钮或者编辑框之后,下一步任务便是添加自己的响应代码。
Opening function 添加在它名下的代码,在GUI开始运行但是还不可见的时候执行。这里的代码一般都是做一些初始化工
作的。
Output function 如果有需要,可以向命令行输出数据。(这个函数我没用过,不多说了^_^)
Callbacks 每一次点击按钮或者向输入框输入数据或者拖动滑竿,这些控件名下的callback就会执行一次。
函数的输入参数
M-File名下的全部function都会有这两个输入参数
hObject 它代表的是当前的这个控件(也就是你点哪一个按钮或者拖的哪一个滑竿)
handles 它代表的是现在这整一个GUI界面
对这两个变量进行修改后
guidata(hObject, handles); 进行保存,否则修改无效;P
三、Opnning Function
这个函数名下的代码 在界面可见之前执行。其实你也可以在这个函数名下用handles.什么tag 来获得组件的信息。因为在
Opnning函数之前,所有的组件就已经生成了,只不过openning函数是把这些组件'打开',让它们显示出来。所以你可以在
这个函数下面,添加代码,对界面做一些初始化工作。比如,计算一些数据,显示一幅图或者别的什么工作。
function my_gui_OpeningFcn(hObject, eventdata, handles, varargin)
另外两个输入参数eventdata是matlab的保留参数,为以后开发准备的,我们不用管它。varargin 它里面保存了,传进来的
命令行。
varargin怎么理解呢?
-------------
my_gui('Position', [71.8 44.9 74.8 19.7])
%GUI也是函数,它只不过是有个界面的函数。它的调用,同样是 函数名(输入参数)。
这里就表示GUI在打开时,位置这个属性被设置成了右边那个值。也就是在这个位置打开GUI。Position是你GUI界面的
一个属性。(要想知道各个控件有什么属性,在它上面双击就看到了。)所以同样,也可以用这种方式输入其他的初始化
命令。
my_gui('路人甲','年十八')
但如果你输入别的,左边那个根本就不是界面的属性名称。这是输入的参数就保存在varargin里面。也就是
vararging{1}='路人甲' vararging{2}='年十八'。
这样也可以达到向调用的GUI传入数据的目的。
四、Output Function
http://www.PHPget.cn Page 5
剩余98页未读,继续阅读
CD19930101
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功