使用matlab进行超级复杂多项式的绘图

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:49:50
我在进行多刚体动力学的计算,利用matlab运算,最后得到一个很超级复杂的力学表达式,虽然只有一个时间变量t,但是表达式竞有3页之长。在绘图时需要将表达式中的一些运算改为点乘/除,表达式太长,手动去改几乎不可能。我也用simple函数等进行了化简,但是表达式好像更长了,不知怎么回事。另外,我带进具体的t的数值,有时候的运算结果竟然是NaN.请大家帮我看看是怎么一回事,有更好的化简方法吗。下面是表达式的很小一部分(不完整):
((-1299/32000/(1/4-1/64*t^4)^(1/2)*t^2*3^(1/2)+9/80*(433/12000-433/153600*t^4)/(1/4-1/64*t^4)^(3/2)*3^(1/2)*t^2)^2+1/2*((1-1/4/t^4/(1/4-1/64*t^4))^(1/2)+1/8*t^2/(1-1/4/t^4/(1/4-1/64*t^4))^(1/2)*(2/t^6/(1/4-1/64*t^4)-1/32/t^2/(1/4-1/64*t^4)^2))^2+1/2*(1/4/t^2/(1/4-1/64*t^4)^(1/2)-(1/4*t^2-9/40)/t^4/(1/4-1/64*t^4)^(1/2)+1/64*(1/4*t^2-9/40)/(1/4-1/64*t^4)^(3/2))^2+1/2*(1/2*(1-1/4/t^4/(1/4-1/64*t^4))

你不是就想画图嘛!
没有必要把他的符号解(表达式)求出来

画图无非就是要几个点的值
比如原来求此表达式的程序为
XXXXX
XXXX
p=..t..

t=0:0.1:10;
for i=1:length(t)
XXXXX
XXXX
p(i)=..%是全数字 必要时加double
end

plot(t,p)

.*的话应该是没有问题的。直接拷出来放到txt文件里用替换换掉再拷回去就可以了。
出现nan的话说名有0/XXX的情况,这个就是你的公式问题了至于为什么会这么复杂,我也不知道你算的是什么,爱莫能助啊~