象征性的分段表达式转换成一个函数如何处理

16个视图(30天)
我需要一个象征性的分段表达式转换为matlab函数处理。
我试着使用matlabFunction()但它抛出一个symengine错误的不平衡或意想不到的括号或支架。
任何帮助将不胜感激。
6个评论
Vishal Tripathi
Vishal Tripathi 2016年3月26日
编辑:Vishal Tripathi 2016年3月26日
我认为集成产生了一个分段函数,因为E或v,而不是因为t .但是我想我可能已经找到了解决我的问题。(通过指定一个v的支架,所以没有形成分段函数)
是的,我想在这两个变量同时最小化。
可悲的是另一个问题,出现在使用fminsearch函数认为,尽管E作为一个未定义的函数/变量,而我已经注明在fun2集成变量E,限制包含v (E甚至不应该存在在最后的误差函数)
fminsearch有问题,还是我做一些错误的地方?
P。S -我已经编辑上面的代码,供您参考。

登录置评。

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2016年3月27日
如果你写出来与最终集成步骤没有完成,你扩大()条款,结合指数和简化,可以表明,最低必须发生在z是alphaexp的均值。
v = 0和E = 18000附近,积分非常陡峭。v = 0.002486920643673647643722704附近的关键是让你头发少积分是如此巨大,以至于无法计算有效,但头发更让你不可或缺的非常小——例如值的1/10 ^ (10 ^ 13)。我认为这意味着至少是你的上界,v < 6000但之间的区别,以及任何v > 0.002486920643673647643722704将需要计算数以十亿美元计的数字来确定不同。固有的不准确常数如8.314中没有证明这些计算。
4评论
沃尔特·罗伯森
沃尔特·罗伯森 2016年4月6日
请不要一个变量名称“错误”干扰使用关键的MATLAB函数误差()和为别人很难读的代码。
请出示的输出error1 matlabFunction调用的输出。
我有一个模糊的记忆,可能有一个错误在int()函数的转换处理。

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!