摘要: S-Function是system-function的缩写。说得简单,S-Function就是用MATLAB所提供的模型不能完全满足用户,而提供给用户自己编写程序来满足自己要求模型的接口。本文介绍一下C语言版S-Function的实现方法。 阅读全文
posted @ 2013-01-18 21:13 马语者 阅读(39901) 评论(1) 推荐(0) 编辑
摘要: 1. 读取Excel文件(a) 命令方式xlsread:读取命令:[data,text] = xlsread(FileName, SheetName, Range);data保存的是数据单元格的值, text保存的是字符串单元格的内容。例如:[data,text] = xlsread('C:\Test\test.xls'', 'testsheet', 'B2:D10');存储方式为矩阵,和Excel表格中的位置一致。如果Sheet内都是数据,可直接使用data = xlsread(文件名)。(b) 界面方式uiimport: 在Matla 阅读全文
posted @ 2013-01-18 13:51 马语者 阅读(84914) 评论(0) 推荐(2) 编辑
摘要: 在WPF中绘制形状时,如果数据量大(例如一条Polyline有10万多个数据点),绘制过程会很慢。目前能想到的解决办法有: 1. 将形状绘制在位图里。2. 升级到最新.net4.5,WPF性能提升不少(这个要赞) 3. 使用DrawVisual来实现画图。下面主要谈一下DrawVisual的用法。Visual 类的层次结构如下:DrawingVisual 继承自Visual,是一个用于呈现形状、图像或文本的轻量绘图类。 此类之所以被视为轻量,是因为它不提供布局或事件处理功能,从而能够改善运行时性能。 因此,绘图最适于背景和剪贴画。 DrawingVisual 可用于创建自定义可视化对象。在下面 阅读全文
posted @ 2013-01-17 17:23 马语者 阅读(16593) 评论(1) 推荐(1) 编辑
摘要: 1. 外倾角(Camber Angle)从车头望向车轮,车轮与铅垂线的夹角称为外倾角, 若轮胎上端向外倾斜即左右轮呈"\/"形, 称为正外倾角,向内倾斜为负外倾角。基本上,正外顷角的设定有较佳的灵活度,而负外顷角具较稳定的直进性。2.Pointed the Right Waystory by john hagermanCamber, Caster and Toe: What Do They Mean?The three major alignment parameters on a car are toe, camber, and caster. Most enthusia 阅读全文
posted @ 2013-01-17 13:33 马语者 阅读(1766) 评论(0) 推荐(0) 编辑
摘要: 1. 哈希表(HashTable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对.2. 什么情况下使用哈希表(1)某些数据会被高频率查询(2)数据量大(3)查询字段包含字符串类型(4)数据类型不唯一3.哈希表的使用方法哈希表需要使用的namespaceusing S 阅读全文
posted @ 2013-01-15 11:20 马语者 阅读(110902) 评论(9) 推荐(11) 编辑
摘要: 在OpenGL中有两个比较重要的投影变换函数,glViewport和glOrtho.glOrtho是创建一个正交平行的视景体。 一般用于物体不会因为离屏幕的远近而产生大小的变换的情况。比如,常用的工程中的制图等。需要比较精确的显示。 而作为它的对立情况, glFrustum则产生一个透视投影。这是一种模拟真是生活中,人们视野观测物体的真实情况。例如:观察两条平行的火车到,在过了很远之后,这两条铁轨是会相交于一处的。还有,离眼睛近的物体看起来大一些,远的物体看起来小一些。glOrtho(left, right, bottom, top, near, far), left表示视景体左面的坐标,ri 阅读全文
posted @ 2013-01-12 19:17 马语者 阅读(1219) 评论(0) 推荐(0) 编辑
摘要: glAccum 操作累加缓冲区glAddSwapHintRectWIN 定义一组被SwapBuffers拷贝的三角形glAlphaFunc允许设置alpha检测功能glAreTexturesResident 决定特定的纹理对象是否常驻在纹理内存中glArrayElement 定义一个被用于顶点渲染的数组成分glBegin,glEnd 定义一个或一组原始的顶点glBindTexture 允许建立一个绑定到目标纹理的有名称的纹理glBitmap 绘制一个位图glBlendFunc 特殊的像素算法glCallList 执行一个显示列表glCallLists 执行一列显示列表glClear 用当前值清 阅读全文
posted @ 2013-01-12 13:38 马语者 阅读(1903) 评论(0) 推荐(0) 编辑
摘要: 1 glFlush就是强制刷新吧,要知道OPENGL是使用一条渲染管线线性处理命令的,一般情况下,我们提交给OPENGL的指令并不是马上送到驱动程序里执行的,而是放到一个缓冲区里面,等这个缓冲区满了再一次过发到驱动程序里执行;很多时候只有几条指令是填充不满那个缓冲区的,这就是说这些指令根本没有被发送到驱动里,所以我们要调用glFlush来强制把这些指令送到驱动里进行处理。2glutSwapBuffers其实就是交换缓冲区啦,估计是你的程序使用的是双缓冲技术吧;用了这种技术的话,你所有的绘制都是绘制到一个后台的缓冲区里面的,如果不交换缓冲区,就看不到绘制的东西了 阅读全文
posted @ 2013-01-10 15:58 马语者 阅读(9860) 评论(0) 推荐(0) 编辑
摘要: 如果在程序中直接更新进度条,是无法响应的。使用BackgroundWorker可以解决该问题。public partial class Form1 : Form{ BackgroundWorker backgroundWorker1 = new backgroundWorker1; public Form1() { InitializeComponent(); Shown += new EventHandler(Form1_Shown); backgroundWorker1.WorkerReportsProgress = t... 阅读全文
posted @ 2013-01-08 20:43 马语者 阅读(8970) 评论(2) 推荐(1) 编辑
摘要: //传统定义参数属性的方法public class MyClass{ private int _age; public int Age { get{ return _age; } set{ _age = value; } }}//如果get, set逻辑简单,可使用自动属性public class MyClass{ public int Age {get; set;} } 阅读全文
posted @ 2013-01-08 19:04 马语者 阅读(291) 评论(0) 推荐(0) 编辑