【发布时间】:2014-04-19 00:30:04
【问题描述】:
当我进行如下定义的函数集成的简单练习时,
clear all;
syms z tau;
deltav=tau^(1/(3*z))-tau^(1/(4*z));
deltax=1/(0.5+12*z)*(tau^(1/(3*z))-tau^(1/(4*z)));
a=1;
b=9;
tau=0.5;
mu_vx=int(deltav*deltax,a,b);
mu_x2=int(deltax^2,a,b);
ratio=double(mu_vx/mu_x2);
我从 MATLAB 收到错误消息,说“??? Error using ==> mupadmex MuPAD 命令出错:DOUBLE 无法将输入表达式转换为 一个双精度数组。如果输入表达式包含符号变量,则使用 VPA 代替功能。”
所以我将“deltav”和“deltax”的表达式插入到集成中,然后运行
clear all;
syms z tau;
deltav=tau^(1/(3*z))-tau^(1/(4*z));
deltax=1/(0.5+12*z)*(tau^(1/(3*z))-tau^(1/(4*z)));
a=1;
b=9;
tau=0.5;
mu_vx=int((tau^(1/(3*z))-tau^(1/(4*z)))*1/(0.5+12*z)*(tau^(1/(3*z))- tau^(1/(4*z))),a,b);
mu_x2=int((1/(0.5+12*z)*(tau^(1/(3*z))-tau^(1/(4*z))))^2,a,b);
ratio=double(mu_vx/mu_x2)
这次成功了。我想知道如何在不插入长表达式的情况下使第一种方式工作。谢谢。
【问题讨论】:
标签: matlab