Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2010-12-24, 11:35   #1
wwpwwp
初级会员
 
注册日期: 2009-10-04
年龄: 37
帖子: 2
声望力: 0
wwpwwp 正向着好的方向发展
默认 求助:怎样解方程的数值解??

各位大侠:
我在编写程序时需要接一个一元三次方程,我想得到它的数值解,但是用函数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);
请问这是什么原因呢?
因为我的方程是在一个循环中求解的,所以它的系数项都是一个一个的多项式(代表的是具体的数值),请问我怎么才能得到我想要的数值解。
谢谢了!!
wwpwwp 当前离线   回复时引用此帖
旧 2010-12-26, 23:02   #2
lxfmails
初级会员
 
注册日期: 2010-11-22
帖子: 4
声望力: 0
lxfmails 正向着好的方向发展
默认 回复: 求助:怎样解方程的数值解??

用 vpa(ans)试一试,因为MATLAB默认solve函数求出的解是非数值的
lxfmails 当前离线   回复时引用此帖
旧 2010-12-28, 09:05   #3
abc886
初级会员
 
注册日期: 2008-02-27
年龄: 38
帖子: 27
声望力: 18
abc886 正向着好的方向发展
默认 回复: 求助:怎样解方程的数值解??

It's easy. you can use "subs"
for example:

a=1;
x=solve('a*x^2-1=0');
x1=subs(x)
abc886 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 09:20


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.