matlab程序是什么格式,科学网—Matlab中的P代码文件 - 杨笔锋的博文
Matlab中的P代码文件
已有 5681 次阅读
2008-10-23 09:52
|个人分类:未分类
我们经常把语句或函数写在一个M文件里,比如:
% ----------------------
% test.m
a = 1;
b = 2;
% ----------------------
这个M语句文件,或:
% ----------------------
% test2.m
function a = test2(b)
a = b * 2;
% ----------------------
这个M函数。
我们在Command Window里输入:
>> test
即是等于输入了
>> a = 1;
>> b = 2;
而输入:
>> a = test2(2)
a =
4
便是执行了一个函数。
以上的内容我想大部份人都知道是怎么一回事了,以下说一说P代码文件。
如果在Command Window里输入:
>> pcode test
便会在相应test.m的文件夹里产生了test.p。如果这时在Command Window里输入:
>> test
其实是运行了test.p,而不是test.m。
P文件是对应M文件的一种预解析版本(preparsed version)。因为当你第一次执行M文件时,Matlab需要将其解析(parse)一次(第一次执行后的已解析内容会放入内存作第二次执行时使用,即第二次执行时无需再解析),这无形中增加了执行时间。所以我们就预先作解释,那么以后再使用该M文件时,便会直接执行对应的已解析版本,即P文件。但又因为Matlab的解析速度非常快,一般不用自己作预解析。只有当一些程序要调用到非常多的M文件时,如GUI应用程序时,才会作预解析,以增加以后的调用速度。
如Matlab的当前目录(Current Directory)有test.m文件,作预解析后,又有test.p文件。因为P文件的调用优先级比M文件要高,所以当你调用test时,会作优先选择而调用了test.p。
可以修改test.m的代码为:
% ----------------------
% test.m
a = 3;
b = 4;
% ----------------------
再在Command Window里调用test:
>> test
Warning: P-file C:Program FilesMATLAB71worktest.p is older than M-file C:Program FilesMATLAB71worktest.m.
C:Program FilesMATLAB71worktest.p may be obsolete and may need to be regenerated.
Type "help pcode" for information about generating P-files from M-files.
会出现一个Warning,警告你所调用的P文件比同名的M文件要旧,即表示M文件已被修改了。尽管如此,调用的还是旧的P文件,即得出a = 1和 b = 2。
P文件可以用来作保密代码之用,如果你给别人一个M文件,别人可以打开来看到你所有的代码和算法。如果你的代码不想被别人看到,那可以给他P文件。
pcode函数也可以应用在M函数文件。
转载本文请联系原作者获取授权,同时请注明本文来自杨笔锋科学网博客。
链接地址:http://blog.sciencenet.cn/blog-200374-203293.html
上一篇:张家界风光
下一篇:蝴蝶效应
matlab程序是什么格式,科学网—Matlab中的P代码文件 - 杨笔锋的博文相关推荐
- matlab 图的标注文字,科学网-Matlab画图(二):动画及文字标注-周建锋的博文
俗话说"一图胜千言".在报告中用动画来展示一些关键性内容,可以收到更好的效果,也更能吸引观众的注意力.在这里,我们介绍如何用Matlab生成一些简单的动画,以及如何在画面中添加文字 ...
- matlab的peer啥意思,科学网—Matlab读取PEER地震动记录数据库加速度数据函数 - 王德才的博文...
PEER地震动记录数据库是目前应用最为广泛的数据库,为了便于利用其中的强震记录,对几年前采用Matlab编写的读取加速度数据函数进行了改写,使用了向量化的编写规则,减少了原有的循环处理,比原来的程序简 ...
- matlab加速度转化为位移,科学网—Matlab编写由加速度积分得到速度和位移函数 - 王德才的博文...
研究中经常会用到将加速度数据积分成速度和位移,对前几年编写的程序重新进行了改写.为了测试和验证peer2acc函数.dirFolder函数和acc2vd函数,编写了一个简单的测试程序 acc2vd函数 ...
- matlab trapz二重积分函数_科学网—MATLAB中的数值积分方法 - 王福昌的博文
实际应用中在MATLAB里面都有开发好的命令可以使用,如 quad(), quadl(),quad2d(),triplequad() .需要掌握这些命令的用法. 1. 定积分 trapz(),qua ...
- matlab批量生成灰度图像_科学网—matlab彩色图像的批处理转换为灰度、二值和主成分图图像 - 金秀良的博文...
这段代码主要用来进行图像的批处理转换为灰度.二值和主成分图图像,希望给大家借鉴.其中 RGB to bw可以直接实现,但是效果不好,所以先用RGB to gray,之后再gray to bw.RGB ...
- mh采样算法推导_科学网—MCMC中的Metropolis Hastings抽样法 - 张金龙的博文
Metropolis Hastings抽样法示例 jinlongzhang01@gmail.com Metropolis Hasting(下面简称MH)是蒙特卡罗马尔科夫链中一种重要的抽样方法.本文简 ...
- python求组合数c_科学网—Python 组合函数 C(n,m) - 杨玠的博文
Python 中组合函数 C(n,m) = n!/(m!*(n-m)!) 有两个: 1.itertools.combinations 返回一个对象,其自带指针函数 因此有可以使用 for,例如 a = ...
- matlab 小波中心频率,科学网-MATLAB:小波分析—时间序列的多时间尺度分析-李旭的博文...
时间序列(Time Series)是地学研究中经常遇到的问题.在时间序列研究中,时域和频域是常用的两种基本形式.其中,时域分析具有时间定位能力,但无法得到关于时间序列变化的更多信息:频域分析(如Fou ...
- matlab 水平投影,科学网—Matlab中如何将投影信息写入到shape文件中 - 朱永超的博文...
在Matlab中保存shape格式数据时,没有具体的函数可以将投影信息直接写入到shape文件中,不过可以通过另外一种方式实现.看下shape格式的文件不难发现,shape文件的投影信息是一个单独的文 ...
- matlab不用科学计算法表示_科学网—MATLAB小技巧总结 - 李金磊的博文
①如何保存命令行窗口的历史命令? 打开MATLAB,进入主页:新建脚本文件,即"*.m"文件,这时会自动弹出"编辑器"窗口. 我们可以在脚本文件(编辑器)窗口中 ...
最新文章
- abaqus切削为什么没有切屑_基于ABAQUS的高速切削切屑形成过程的有限元模拟
- pandas使用replace函数移除dataframe数值数据中的逗号并基于处理后的数据生成新的整型数据列(remove comma from column values in Pandas)
- HDU 1004 Let the Balloon Rise
- Global Average Pooling对全连接层的可替代性分析
- 复习笔记(九)——C++中的容器(STL容器)
- BAT批处理脚本结合SQL应用案例
- ConsurrentDictionary并发字典知多少?
- python实现归并排序
- 【转载】用java压缩文件夹/文件
- 5件你可能不知道可以使用 CSS-in-JS 来做的事情
- cocos2d-x—schedule介绍
- 7.10 添加房间参数
- Shell脚本超全详解
- cs1.6修改服务器参数设置,cs1.6比赛服务器设置参数
- Unity 射线检测
- 学计算机的看图写话,小老鼠上网看图写话
- STM32F407之电阻式触摸屏
- NCC带审批流的主子表
- 编写css代码的方式
- linux 所有服务都无法开启,查看log Fatal server error (EE) Could not create lock file in /tmp/.tX0-lock
热门文章
- 如何修复cdn服务器异常,cdn服务器连接异常怎么解决
- unity 手机游戏研究
- 华盛顿大学华人团队进入微软Imagine Cup总决赛!
- linux下Intel无线网卡驱动安装
- PAT 1021 Deepest Root (25分) 从测试点3超时到满分再到代码优化
- 43.Django04
- 我喜欢的作品风格: 韩国daksha作品IF YOU GO AWAY…
- JS-underfined is not a function
- hnu 数字电路 实验1.1 异或门
- wamp3.1.0 X64下载链接(最新)