![]() |
求助:怎样解方程的数值解??
各位大侠:
我在编写程序时需要接一个一元三次方程,我想得到它的数值解,但是用函数solve得到的总是符号解,该怎么办?用函数double也转换不过来。 我举个例子,有这样一个方程x^2-1=0;解应该是1、-1 我的程序如下:a=1;solve('a*x^2-1=0'); 结果:ans = 1/a^(1/2) -1/a^(1/2) 但是我想得到的是数值1和-1啊。 用函数double:double(ans) 结果出错:??? Error using ==> reshape To RESHAPE the number of elements must not change. Error in ==> sym.double at 37 X = reshape(X,siz); 请问这是什么原因呢? 因为我的方程是在一个循环中求解的,所以它的系数项都是一个一个的多项式(代表的是具体的数值),请问我怎么才能得到我想要的数值解。 谢谢了!! |
回复: 求助:怎样解方程的数值解??
用 vpa(ans)试一试,因为MATLAB默认solve函数求出的解是非数值的
|
回复: 求助:怎样解方程的数值解??
It's easy. you can use "subs"
for example: a=1; x=solve('a*x^2-1=0'); x1=subs(x) |
所有时间均为北京时间。现在的时间是 12:54。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.