Matlab的GUI参数传递方式总结(转)

在Matlab的GUI应用中非常有用,就转过来了。 MATLAB GUI参数传递方式约有9种 1、全局变量; 2、作为函数的参数传递; 3、利用控件的userdata数据; 4、为handles结构体添加新字段; 5、setappdata函数为句柄添加数据; 6、跨空间计算evalin和赋值assignin; 7、将数据保存到文件,需要时读取; 8、带参数调用GUI的M文件; 9、嵌套函数(不适用于GUIDE中,只适用纯命令是的GUI)。 一. 全局变量 运用global定义全局变量传递参数,适用于gui内控件间以及不同gui间。这种方式恐怕是最简单的方式,是很省心!但是,简单的问题就在于有时你会很头疼!因为在每一个要到该全局变量的地方,你都要添一句gloal x,还有就是如果你在一个地方修改了 x的值,那么所有x的值就都变了!有的时候恐怕会出现紊乱。另一个更重要的问题在于,套用C++的一句话,全局变量破坏了程序的封装性!所以,全局变量是能少用尽量少用。 以下创造一个简单的GUI给大家说明一下,建一个GUI, 包含两个按钮,一个坐标系,一个用来画y=sin(x),一个用来画y=cos(x); eg:在GUI的OpeningFcn函数中写: […]

MATLAB2018GUI编写的经验

这几天把去年采用Matlab Guied编写的评价程序完善了,有些经验总结一下: 先把程序每个步骤的功能完善。 程序的输入端和输出应该非常明确,是否要保存为文件。这个评价程序里一共用三个输入文件,评价指标,一致性判断矩阵,经典域节点,它们都是采用excel进行输入。用到这些数的时候读取excel文件。 单选按钮的可参考: matlab GUI界面中的radiobutton按钮不提供互斥功能,要通过程序实现。 假设有3个radiobutton,分别为radiobutton1、radiobutton2、radiobutton3。 radiobutton1的回调函数: function radiobutton1_Callback(hObject, eventdata, handles) set(handles.radiobutton1,’value’,1); set(handles.radiobutton2,’value’,0); set(handles.radiobutton3,’value’,0); 同理可写radiobutton2和radiobutton3的回调函数,只要修改value的值就可以了。 再判断按下的哪个按钮是可用程序: if get(handles.radiobutton1,’value’) […]

Matlab 颜色图

下面是一个画颜色图的例子: %% 颜色图的绘制 figure(2) j=0; for i=[1 9 13 17 19 21 39]; % i 表示要打印图片的时间 discount=1.1; % 表层土壤含水率是10cm处的0.8倍,120cm处的按照100cm处的土壤含水率计算 columE1=[S5(i,1)*discount,S5(i,1:10),S5(i,10),S5(i,11)*discount,… […]

亚马逊云

这几天想玩玩亚马逊的云计算,其实例如下: https://aws.amazon.com/cn/getting-started/tutorials/build-train-deploy-machine-learning-model-sagemaker/?trk=gs_card&e=gs&p=gsrc AWS Console控制台地址为: https://aws.amazon.com/cn/console/ 但遇到一个问题,没有运行成功。 KeyError: ‘ap-northeast-1’ 貌似东京服务器的问题 要小心亚马逊的几个“坑” https://blog.csdn.net/csdnhxs/article/details/80219468

ET0 的计算和调用

clear clc %% 前处理,数据准备 % 加载原始数据 % 用时修改字段“ShiJin6Site”即可 load(‘C:\Users\zxxdd\Documents\Climate\DATA\ShiJin6Site_WIN.mat’); load(‘C:\Users\zxxdd\Documents\Climate\DATA\ShiJin6Site_TEM.mat’); load(‘C:\Users\zxxdd\Documents\Climate\DATA\ShiJin6Site_SSD.mat’); load(‘C:\Users\zxxdd\Documents\Climate\DATA\ShiJin6Site_RHU.mat’); load(‘C:\Users\zxxdd\Documents\Climate\DATA\ShiJin6Site_PRS.mat’); load(‘C:\Users\zxxdd\Documents\Climate\DATA\ShiJin6Site_PRE.mat’); load(‘C:\Users\zxxdd\Documents\Climate\DATA\ShiJin6Site_GST.mat’); load(‘C:\Users\zxxdd\Documents\Climate\DATA\ShiJin6Site_EVP.mat’); % 计算日序数; DateVector1=[ShiJin6Site_WIN(:,5:7)]; % […]

中国各类基金资助项目英文翻译(中英文对照)(转)

http://muchong.com/html/201801/5648771.html 不完全统计表明,国内期刊多习惯于将基金资助项目的信息作为论文首页的脚注,国外期刊则多将其作为“致谢”的一部分标注。通常情况下只需列出项目的资助号即可,不必标注具体的项目名称。如: Supported by the National Natural Science Foundation of China (Grant No. 60171009), the Major State Basic Research Development […]

怎样让图片的行和列相等(如何让卫片大小相等)

问题:两张卫片,坐标系不一样,行和列不一样,无法进行波段计算。虽然不用修改坐标系,它们在ArcGIS下目视重合的(因为ArcGIS的投影和坐标是动态的)。但是因为有行和列不同,它们不能在Envi下进行波段计算。解决办法:采用Arcgis重采样。 可以在ArcGIS下将两张片子同时打开动态匹配一下,假如打开PE.tif,然后将两张片子同时进行重采样,在Export Raster Data页面栏进行如下设置:Extent→ Data Frame,Spatial Reference →Data Frame,Cell Size(cx,cy): 30 30. 然后Save. 两张片子都这样操作,保存为新的文件,然后在Envi中打开后,就会发现他们的坐标系、投影、分辨率、行列数都是一样的,这样就可以进行波段计算了。