声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2712|回复: 12

[编程技巧] 求教:怎么将方程解出的数值赋值给另外一个变量

[复制链接]
发表于 2009-1-8 06:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
怎么将方程解出的数值赋值给另外一个变量?

例如:求解方程x^2+3*x+1=0
求解出两个解为:

ans =

  1/2*5^(1/2)-3/2
-3/2-1/2*5^(1/2)

变换为数值形式:

str2num  1/2*5^(1/2)-3/2
str2num -3/2-1/2*5^(1/2)

把这个两个字符串的数值形式赋值给变量x1和x2

现在的问题是,怎么样编辑好多句程序,实现自动赋值呢?

简单的小问题,望大家不吝赐教。
回复
分享到:

使用道具 举报

发表于 2009-1-8 09:56 | 显示全部楼层

回复 楼主 xueeux 的帖子

不很确定LZ要的
aa=solve('x^2+3*x+1=0')
bb=double(aa)

评分

1

查看全部评分

 楼主| 发表于 2009-1-8 11:18 | 显示全部楼层
对对,就是这样的,谢谢chaching,我一直用str2num命令来着,郁闷

另外,在上面的式中bb是两个获多个值,怎么取其中的一个呢?

这里得到的bb是一个是一个数组吗?
发表于 2009-1-8 11:36 | 显示全部楼层

回复 板凳 xueeux 的帖子

数组是array吗? 抱歉有些术语, 我还不熟! bb is double array
取其中的第二个 bb(2), 这个很基础!
 楼主| 发表于 2009-1-8 11:54 | 显示全部楼层
:@L 不好意思,本人matlab菜鸟,多谢指教。
 楼主| 发表于 2009-1-8 14:23 | 显示全部楼层
我又试了一下,我计算的程序中,解出的两个字符串的数值是:

aaa =

22395957575131475102842832156547350528/522134283751219306779950651895245625+2251799813685248/522134283751219306779950651895245625*82223709700354724578836288622481514469054321^(1/2)
22395957575131475102842832156547350528/522134283751219306779950651895245625-2251799813685248/522134283751219306779950651895245625*82223709700354724578836288622481514469054321^(1/2)

当我用double命令时,得到

97    97    97

而用str2num才得到正确的数值,分别得到
81.9993
3.7869

这个为什么呢?
发表于 2009-1-8 15:07 | 显示全部楼层

回复 6楼 xueeux 的帖子

对symbolic个人也是菜鸟!
LZ前面部分的程序没给, 我没法试!
 楼主| 发表于 2009-1-8 21:26 | 显示全部楼层
我直接用
double aaa 就得到97,97,97的结果
用double (aaa)就得到正确的结果了
不知道咋回事
:@L
发表于 2009-1-8 21:52 | 显示全部楼层

回复 8楼 xueeux 的帖子

LZ刚好试到一些需注意的地方, 我试着说明!
aa=solve('x^2+3*x+1=0');
若aa为sym object,  则bb=double(aa)为sym转换函数
若下double aa它的意思等同double('aa'), 为将aa字元转变为ascii码(若我没记错!)
LZ可以逐行试试
double aa
double bb
double cc

[ 本帖最后由 ChaChing 于 2009-1-9 08:07 编辑 ]

评分

1

查看全部评分

发表于 2009-1-8 23:19 | 显示全部楼层

回复 8楼 xueeux 的帖子

LZ是不是把C语言和Matlab混淆啦
doc double

评分

1

查看全部评分

发表于 2009-1-9 13:23 | 显示全部楼层

回复 8楼 xueeux 的帖子

评分

1

查看全部评分

 楼主| 发表于 2009-1-17 10:32 | 显示全部楼层
看了chaching的帖子,讲的非常好,谢谢
建议chaching把matlab里的问题解决方法出本书,肯定热卖:lol
发表于 2009-1-17 14:19 | 显示全部楼层

回复 12楼 xueeux 的帖子

振动论坛有关于Matlab的FAQ

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-17 16:38 , Processed in 0.075868 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表