从mat文件调用公式
2015-11-04 15:07
411 查看
Matlab中调用公式有两种方式,第一种就是常见的function,自不必多说。
然而,它还有另一种方式,即将公式存入mat文件中,然后通过load方式加载。为了方便起见,设Maple中有如下两个公式:
rfa和beta的表示方式已通过Maple的Conversions to String转成了上面的代码形式。这个形式在Matlab中直接显示会很长,用续行符进行续行会非常耗时,现在的办法就是先将其显示在命令窗口中,即在syms r之后,直接copy上面的代码,Enter后会发现:
可以看到,现在显示形式变了,更加直观,而且会自动转行了。
现在保存到mat文件中,即 save formula rfa beta
下次再m文件中调用它的时候,只需要写入代码:
注意这里rfa与beta和eval中的rfa与beta要一致,否则会出错:
参考链接:
[1] 饮水思源-MathTools精华区文章阅读:不得不学的函数eval
[2] MATLAB 论坛›MATLAB 基础讨论:matlab复杂公式问题
[3] 新浪博客:matlab中eval函数的用法
然而,它还有另一种方式,即将公式存入mat文件中,然后通过load方式加载。为了方便起见,设Maple中有如下两个公式:
rfa=(-632.5979493*2^(1/2)*exp(-23.19525814*2^(1/2)*(r-.1390))+13.00132690/r*exp(-19.01250667*2^(1/2)*(r-.1390))+610.2947135*2^(1/2)*exp(-19.01250667*2^(1/2)*(r-.1390)))/r beta=29346.54546*exp(-23.19525814*2^(1/2)*(r-.1390))+12.62438784/r^2*exp(-19.01250667*2^(1/2)*(r-.1390))-247.1878145/r*2^(1/2)*exp(-19.01250667*2^(1/2)*(r-.1390))-23206.46463*exp(-19.01250667*2^(1/2)*(r-.1390))-(-632.5979493*2^(1/2)*exp(-23.19525814*2^(1/2)*(r-.1390))+13.00132690/r*exp(-19.01250667*2^(1/2)*(r-.1390))+610.2947135*2^(1/2)*exp(-19.01250667*2^(1/2)*(r-.1390)))/r
rfa和beta的表示方式已通过Maple的Conversions to String转成了上面的代码形式。这个形式在Matlab中直接显示会很长,用续行符进行续行会非常耗时,现在的办法就是先将其显示在命令窗口中,即在syms r之后,直接copy上面的代码,Enter后会发现:
>> rfa rfa = / |-894.628599429467614 exp(-32.8030486443329324 r + 4.55962) \ exp(-26.8877447874229320 r + 3.73739) + 13.0013269000000005 ------------------------------------- r \ + 863.087060876302417 exp(-26.8877447874229320 r + 3.73739)|/r /
>> beta beta = 29346.5454600000012 exp(-32.8030486443329324 r + 4.55962) %1 %1 + 12.6243878400000008 ---- - 349.576 ---- - 23206.4646299999986 %1 - 2 r r / |-894.628599429467614 exp(-32.8030486443329324 r + 4.55962) \ %1 \ + 13.0013269000000005 ---- + 863.087060876302417 %1|/r r / %1 := exp(-26.8877447874229320 r + 3.73739)
可以看到,现在显示形式变了,更加直观,而且会自动转行了。
现在保存到mat文件中,即 save formula rfa beta
下次再m文件中调用它的时候,只需要写入代码:
load formula rfa=eval(rfa); beta=eval(beta)
注意这里rfa与beta和eval中的rfa与beta要一致,否则会出错:
??? Undefined function or method 'eval' for input arguments of type 'double'. Error in ==> GraLWTpan at 23 rfa01=eval(rfa01);rfa02=eval(rfa01);rfa03=eval(rfa03);
参考链接:
[1] 饮水思源-MathTools精华区文章阅读:不得不学的函数eval
[2] MATLAB 论坛›MATLAB 基础讨论:matlab复杂公式问题
[3] 新浪博客:matlab中eval函数的用法
相关文章推荐
- About Apps
- VC获得程序自身的版本号
- ios 关于cocos2dx 3.2微信分享好友成功返回游戏卡死的情况处理
- Excel引用其它文件内容时如何用单元格内容做文件名
- python os.popen os.system
- 真正的爱情是不可以用金钱来衡量的
- Statspack安装配置及使用
- 百度搜索结果图文标识规则分析
- (c#)不同窗体间传值
- Keil MDK中的Code, RO-data , RW-data, ZI-data分别代表什么意思?
- [论文笔记4]Robust Object Detection via soft cascade
- 关于java.lang.UnsatisfiedLinkError的小案例
- Eye-Dome-Lighting (EDL)
- 数据库连接池c3p0配置文件
- jQuery源码分析之$.ajax方法
- Linux 运行进程实时监控pidstat命令详解
- generatorConfiguration配置文件及其详细解读
- SQL语句大全
- Nginx初学者指南
- TextureView+SurfaceTexture+OpenGL ES来播放视频(二)