MATLABGUI设计学习手记(第二版)【罗华飞编著2011】电子书,以及原书配套的源程序。
=============================================编辑推荐一本广受好评的界面设计工具书!论坛答疑,包教包会,一书在手,毕业无忧。
随书附赠所有实例的程序源代码作者简介罗华飞,湖北黄冈1983年2月出生,2008年硕士毕业于哈尔滨工程大学通信与信息系统专业,现居重庆。
目前擅长MATLABGUI、WPF等界面设计,以及PIC单片机程序开发、数据库系统开发。
现在从事的是WPF软件设计工作,在四川航天电液控制有限公司从事电控产品配套软件开发工作.代表作有《MATLABGUI设计学习手记》第一版和第二版。
目录第1章GUI设计预备知识11.1知识点归纳11.1.1基本程序元素11.1.2数据类型71.1.3矩阵操作401.1.4程序设计491.2重难点讲解591.2.1矩阵、向量、标量与数组591.2.2数据类型转换611.3专题分析64专题1编程风格64专题2代码优化68专题3M文件编程小技巧72专题4正则表达式781.4精选答疑86问题1单元数组占用的内存空间如何计算86问题2如何生成指定格式的常矩阵、字符串87问题3如何生成随机矩阵90问题4如何查找或删除数据中满足条件的元素91问题5如何给数组元素排序94问题6如何从文本中查找数值96问题7如何验证邮箱名是否合法97问题8如何验证用户名或密码是否合法98问题9如何验证日期字符串是否有效99问题10如何验证身份证号是否符合指定的编码规则100问题11如何将最简多项式的字符串转换为系数向量102问题12如何抓取网页中的图片103第2章文件I/O1042.1知识点归纳1042.1.1高级文件I/O操作1042.1.2低级文件I/O操作1212.2重难点讲解1342.2.1二进制文件与文本文件1342.2.2sprintf与fprintf函数1352.2.3fscanf与textscan函数1362.2.4Excel文件操作1362.2.5图像数据的操作1362.2.6低级文件I/O操作1372.3专题分析137专题5MATLAB读写文本文件1372.4精选答疑147问题13如何提取Excel文件中的数据信息147问题14如何由图像生成字符矩阵150问题15如何循环播放WAV音乐,并可以倍速/慢速播放、暂停/继续播放和停止播放152问题16如何读取文本和数值混合的文件中的数据155问题17如何将十六进制数转换为float值155第3章二维绘图简介1573.1知识点归纳1573.1.1常用的二维绘图函数1573.1.2绘图工具1633.1.3绘图注释1663.2重难点讲解1743.2.1二维绘图的相关函数1743.2.2Tex字符1743.3精选答疑175问题18如何绘制几何曲线,例如矩形、圆、椭圆、双曲线等175问题19如何绘制数据的统计图176问题20如何绘制特殊的字符、表达式176问题21如何绘制网格图177问题22如何显示符号运算结果178第4章句柄图形系统1804.1知识点归纳1804.1.1句柄图形对象1814.1.2句柄图形对象的基本操作1824.1.3句柄图形对象的基本属性1924.1.4根对象1964.1.5图形窗口对象2004.1.6坐标轴对象2114.1.7核心图形对象2174.1.8uicontrol对象2384.1.9hggroup对象2434.1.10按钮组与面板2464.1.11自定义菜单与右键菜单2484.1.12工具栏与工具栏按钮2564.1.13uitable对象2644.2重难点分析2744.2.1句柄式图形对象的常用函数总结2744.2.2Figure对象的几个重要属性2754.2.3Axes对象的几个重要属性2764.2.4Line对象的几个重要属性2774.2.5text对象的几个重要属性2784.2.6uitable对象的几个重要属性278
2024/12/10 2:17:21 66.47MB MATLAB GUI 学习手记
1
对即将找工作的大学生,研究生都爱刷leetcode的题目,但是刚刚接受无法适从,或是一时半会儿想不到解法,没关系,leetcode题解PDF可一带你慢慢了解思路过程。
目录3.4Addbinary615.1.5BinaryTreeLevelOr-3.5LongestPalindromicSubstring.62dertraversalil3.6RegularExpressionMatching665.1.6BinaryTreeZigzag3.7WildcardMatching67LevelOrdertraversal.963.8LongestCommonPrefix5.1.7RecoverBinarySearch3.9ValidNumber70Tree983.10Integertoroman725.1.8SameTree3.11RomantoInteger5.1.9SymmetricTree1013.12CountandSay745.1.10BalancedBinaryTree..1023.13Anagrams755.1.11FlattenBinaryTreeto3.14SimplifyPath76LinkedList1033.15LengthofLastWord775.1.12PopulatingNextRightPointersineachnodeii105第4章栈和队列7952二叉树的构建1074.1栈795.2.1ConstructBinaryTree4ValidParentheses79fromPreorderandIn4.1.2LongestvalidParenorderTraversatheses805.2.2ConstructBinaryTree4.1.3LargestRectangleinfromInorderandposHistogram82torderTraversal1084.14Evaluatereversepol-53二叉查找树109ishnotation845.3.1UniqueBinarySearch4,2队列85Trees5.3.2UniqueBinarySearch第5章树86Treesli.1105.1二叉树的遍历865.3.3ValidateBinarySearch5.1.1BinaryTreePreorderTreeTraversal865.3.4ConvertSortedarrayto5.1.2BinaryTreeInorderBinarySearchTreel12Traversal885.3.5ConvertSortedListto5.1.3BinaryTreePostorderBinarysearchtree113Traversal9054二叉树的递归1155.1.4BinaryTreeLevelOr5.4.1MinimumDepthofBidertraversalnarylree115目录5.4.2MaximumDepthofBi8.32重新实现nextpermunaryTree116tation1425.4.3PathSum117833递归.1435.44PathSumil1188.4PermutationsII1445.4.5BinaryTreeMaximum8.4.1nextpermutation...144PathSuum119842重新实现nextpermu5.4.6PopulatingNextRighttation144Pointersineachnode12084.3递归1445.4.7SumRoottoLeafNum8.5Combinations146bers122851递归146852迭代147第6章排序1238.6LetterCombinationsofaphone6.1MergeSortedArray123umber1476.2MergeTwoSortedLists12486.1递归1486.3MergekSortedLists124862迭代96.4InsertionSortList125第9章广度优先搜索1506.5Sortlist1269.1WordLadder1506.6FirstMissingPositive1279.2WordLadderil..1526.7SortColors289.3Surroundedregions154第7章查找94小结15613194.1适用场景1567.1Searchforarange131942思考的步骤.1567.2SearchInsertPosition.13294.3代码模板1577.3Searcha2DMatrix133第10章深度优先搜索162第8章暴力枚举法13510.1PalindromePartitioning..1628.1Subsets13510.2UniquePaths1658.1.1递归1350.2.1深搜1658.1.2迭代.13710.22备忘录法.1658.2Subsetsil13810.23动规166821递归1381024数学公式167822迭代.14110.3UniquePathsIl1688.3Permutations14210.3.1备忘录法1688.3.1nextpermutation14210.3.2动规.169目录10.4N-Queens16913.4Maximalrectangle19910.5N-QueensII17213.5BestTimetoBuyandSellStock10.6Restoreipaddresses17320010.7CombinationSum17413.6InterleavingString20110.8CombinationSumIl17513.7ScrambleString20310.9GenerateParentheses.17713.8MinimumPathSum20810.10Sudokusolver17813.9EditDistance21010.11WordSearch.18013.10DecodeWays.21210.12小结18113.11DistinctSubsequences21310.12.1适用场景1813.12WordBreak21410.122思考的步骤1811313WordBreakil21610.12.3代码模板183第14章图21810.12.4深拽与回溯法的区别.18414.1CloneGraph10.12.5深搜与递归的区别..184第15章细节实现题221第11章分治法18515.1ReverseInteger2211.1Pow(x,n)18515.2PalindromeNumber222qrt(x18615.3InsertInterval223第12章贪心法18715.4MergeIntervals22412.1Jumpgame18715.5MinimumWindowSubstring..22512.2JumpgameIl18815.6MultiplyStrings22712.3BestTimetobuyandsellstock19015.7SubstringwithConcatenation12.4BestTimetobuyandsellstock191ofallwords23012.5LongestSubstringWithoutre15.8Pascal,sTrianglepeatingCharacters19215.9PascalsTriangleIl23212.6ContainerwithmostWater.19315.10Spiralmatrix23315.11SpiralmatrixII234第13章动态规划19515.12ZigZagConversion23613.1Triangle19515.13DivideTwoIntegers23713.2MaximumSubarray19615.14TextJustification23813.3PalindromePartitioningII19815.15MaxPointsonaline目录第1章编程技巧在判断两个浮点数a和b是否相等时,不要用a=-b,应该判断二者之差的绝对值fabs(a-b)是否小于某个阈值,例如1e-9。
判断一个整数是否是为奇数,用x%2!=0,不要用x%2==1,因为x可能是负数用char的值作为数组下标(例如,统计字符串中每个字符出现的次数),要考虑到char可能是负数。
有的人考虑到了,先强制转型为unsignedint再用作下标,这仍然是错的。
正确的做法是,先强制转型为unsignedchar,再用作下标。
这涉及C++整型提升的规则,就不详述了。
以下是关于STL使用技巧的,很多条款来自《EffectiⅤveStL》这本书。
vector和string优先于动态分配的数组首先,在性能上,由于vector能够保证连续内存,因此一旦分配了后,它的性能跟原始数组相当其次,如果用new,意味着你要确保后面进行了delete,一旦忘记了,就会岀现BUG,且这样需要都写一行delete,代码不够短再次,声明多维数组的话,只能一个一个new,例如:int**ary=newint*[row_num];for(inti=0:i<rownum;++1)ary[i]newint[col_num]用vector的话一行代码搞定,vector<vector<int>>ary(row_num,vector<int>(col_num,0))使用reserve来避免不必要的重新分配第2章线性表这类题目考察线性表的操作,例如,数组,单链表,双向链表等。
21数组2.1.1RemoveDuplicatesfromSortedarray描述Givenasortedarray,removetheduplicatesinplacesuchthateachelementappearonlyonceandreturnthenewlengthDonotallocateextraspaceforanotherarray,youmustdothisinplacewithconstantmemoryForexample,GiveninputarrayA=[1,1,2Yourfunctionshouldreturnlength=2,andaisnow[1,2]分析无代码1/LeetCode,RemoveDuplicatesfromSortedArray/时间复杂度0(n),空间复杂度0(1)classSolutiontublicintremoveDuplicates(intA[],intn)tlf(n==oreturnointindex=0:for(inti=1:i<n:i++iif(Alindex!alidA[++index]=Alireturnindex12.1数组代码2//LeetCode,RemoveDuplicatesfromSortedArray//使用STL,时间复杂度0(n),空间复杂度0(1)classSolutionipublicintremoveDuplicates(intA[,intn)treturndistance(A,unique(A,An))代码3/LeetCode,RemoveDuplicatesfromSortedArray/使用STL,时间复杂度0(n),空间复杂度0(1)lassSolutionfublicintremoveDuplicates(intA[],intn)treturnremoveDuplicates(A,A+n,A)-A;template<typenameInIt,typenameoutit>OutItremoveDuplicates(InItfirst,InItlast,OutItoutput)thile(firstlast)i*output++=*firstfirstupper_bound(first,last,*firstreturnoutput相关题目RemoveduplicatesfromSortedArrayIl,见§2.1.22.1.2RemoveDuplicatesfromSortedArrayII描述Followupfor"RemoveDuplicates"Whatifduplicatesareallowedatmosttwice?Forexample,Givensortedarraya=[1,1,1,2,2,3]Yourfunctionshouldreturnlength=5,andAisnow[1,1,2,2,3分析加一个变量记录一下元素出现的次数即可。
这题因为是已经排序的数组,所以一个变量即可解决。
如果是没有排序的数组,则需要引入一个hashmap来记录出现次数4第2章线性表代码1//LeetCode,RemoveDuplicatesfromSortedArrayII/时间复杂度0(n),空间复杂度0(1)//qauthorhex108(https://github.com/hex108)classSolutiontublicintremoveDuplicates(intA[],intn)tlf(n<=2returnnintindex=2for(inti=2:in:1++)if(all]!Alindex-2])ALindex++]=Ali]returnindex;代码2下面是一个更简洁的版本。
上面的代码略长,不过扩展性好一些,例如将occur<2改为ocur<3,就变成了允许重复最多3次。
//LeetCode,RemoveDuplicatesfromSortedArrayII//@author虞航仲(http://weibo.com/u/1666779725)//时间复杂度0(n),空间复杂度0(1)classSolutionipublicintremoveDuplicates(intA[],intn)tmtindex=ofor(intif(i>0&&i<1&&A[i]==A[i-1]&&A[i]==A[i+1])continueAlindex++]=Alireturnindex;相关题目RemoveDuplicatesfromSortedArray,见§2.1.12.1.3SearchinRotatedSortedArray描述Supposeasortedarrayisrotatedatsomepivotunknowntoyoubeforehand
2024/12/7 0:08:16 1.03MB leetcode题解
1
易买网用jdbcjspservletajax实现里面包含数据库文件,基本功能已经全部实现,现提供分享,大家一起学习
2024/11/26 8:01:39 6.07MB 易买网
1
用SSM框架实现的echarts展示图表的项目,使用的开发工具是eclipse,数据库是mysql。
文件中包含项目源码,对应的数据库,以及项目运行后实现的图表截图(含url)。
(别人上传需要豆币,现免费提供)
2024/11/23 11:19:10 16.28MB SSM mysql
1
中国移动LBS手机定位JAVA源码,CELL-ID技术是目前最简单的定位技术,它的原理是通过获取目标手机所在的蜂窝小区ID来确定其所在的位置,提供给定位用户。
它不需要移动台提供任何定位测量信息,也无须对现网进行改动,只需要在网络侧增加简单的定位流程处理即可,因而最容易实现,目前这种定位技术已经在各移动网络中广泛使用。
它的定位原理很简单
2024/11/15 12:07:26 52KB LBS 手机定位
1
Android图片框架Glide-3.7.0(最新,很强大),超好用的图片框架(包含jar和源码)Glide是一个高效、开源、Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache2.0协议发布。
Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里。
创建Glide的主要目的有两个,一个是实现平滑的图片列表滚动效果,另一个是支持远程图片的获取、大小调整和展示。
近日,Glide3.0发布,现已提供jar包下载,同时还支持使用Gradle以及Maven进行构建。
该版本包括很多值得关注的新功能,如支持Gif动画和视频剧照解码、智能的暂停和重新开始请求、支持缩略图等,具体新增功能如下如下:GIF动画的解码:通过调用Glide.with(context).load(“图片路径“)方法,GIF动画图片可以自动显示为动画效果。
如果想有更多的控制,还可以使用Glide.with(context).load(“图片路径“).asBitmap()方法加载静态图片,使用Glide.with(context).load(“图片路径“).asGif()方法加载动画图片本地视频剧照的解码:通过调用Glide.with(context).load(“图片路径“)方法,Glide能够支持Android设备中的所有视频剧照的加载和展示缩略图的支持:为了减少在同一个view组件里同时加载多张图片的时间,可以调用Glide.with(context).load(“图片路径“).thumbnail(“缩略比例“).into(“view组件“)方法加载一个缩略图,还可以控制thumbnail()中的参数的大小,以控制显示不同比例大小的缩略图Activity生命周期的集成:当Activity暂停和重启时,Glide能够做到智能的暂停和重新开始请求,并且当Android设备的连接状态变化时,所有失败的请求能够自动重新请求转码的支持:Glide的toBytes()和transcode()两个方法可以用来获取、解码和变换背景图片,并且transcode()方法还能够改变图片的样式动画的支持:新增支持图片的淡入淡出动画效果(调用crossFade()方法)和查看动画的属性的功能OkHttp和Volley的支持:默认选择HttpUrlConnection作为网络协议栈,还可以选择OkHttp和Volley作为网络协议栈其他功能:如在图片加载过程中,使用Drawables对象作为占位符、图片请求的优化、图片的宽度和高度可重新设定、缩略图和原图的缓存等功能
2024/11/15 6:05:15 5.4MB 图片框架 Glide-3.7.0
1
pdf文件。
河南转会证明姓名工会:,现为我单位职工,需将工会关系转入,特此证明,请审核。
手机号码原单位现单位备注:抬头处填写的是本单位工会的上级工会.
2024/11/14 6:09:58 10KB xpdf
1
完美解决windows101903不能同时多用户进行远程连接,解除连接限制工具,网上很多都不能解决1903,现提供修改版完美解决最新win10RDPWrapper不生效,Listenerstate:Listeningfullysupported先需要配置可参考https://blog.csdn.net/weixin_40821913/article/details/83718404安装RDPWrap1.install.bat2.update.bat3.re-install.bat4.RDPConf.exe解压文件放入此目录(C:\ProgramFiles\RDPWrapper),然后管理员权限运行re-install.bat
2024/11/9 9:46:44 3.07MB win10 1903 RDP Wrapper
1
C#PayPal国际支付接口实现源码,支持单商品、购物车结算,代码里面详细说明,带自己写的文档,配置好参数即可运行,不是网上现在共享的那一套,公司自用,现分享—2017年5月4日
2024/11/9 4:50:53 9.24MB PayPal
1
因项目需要对页面中的下拉框选项快速查找(支持拼音检索无需给对应选项添加拼音属性),自己在网上搜查资料,整理代码,现将结果上传,方便有同类需求者使用。
主要使用文件:1:PingYin.js(不知道是哪位大神编写的这个js,这里拿来使用,这里默默感谢大神)2:slect2js(版本:4.0.6,在这版本上文件已做改动)文件和css文件
2024/11/2 8:50:30 20.36MB select2控件 拼音检索
1
共 443 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡