声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1340|回复: 5

[编程技巧] 对变量赋值求解方程遇到的问题

[复制链接]
发表于 2009-7-17 22:28 | 显示全部楼层 |阅读模式

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

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

x
要对方程中的变量进行赋值,然后求解并输出,参考了这个帖子的做法http://forum.vibunion.com/thread-53383-1-1.html,很受启发,但还是碰到了问题:对变量的赋值似乎无效,
请看一个简单的例子:

clear
syms u x,y=2*u+1+x,
y=subs(y,u,1.5),            %y=4+x
subs(solve('y=1.5')        %解出ans=1.5 ,说明y=4+x未被代入
subs(solve('y=1.5','x'))   %出错,也说明y=4+x未被代入



请大伙指教!!!感激不尽!!

顺便问下,如何提取所有求得的根中的某一个?比如提取其中的非负实根。

[ 本帖最后由 stargazer 于 2009-7-17 22:57 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-7-18 07:34 | 显示全部楼层
solve('y=1.5')是解得y=1.5这个方程,而不是LZ理解的代入y=4+x中的y求解x
 楼主| 发表于 2009-7-18 08:11 | 显示全部楼层


这正是我想问的,为何y=subs(y,u,1.5)得到的 y=4+x会在下一步解放程时不起作用
发表于 2009-7-18 14:35 | 显示全部楼层
应该使用solve(y-1.5)或solve(y-1.5,x)
注意有无引号意义是不同的!
 楼主| 发表于 2009-7-18 18:11 | 显示全部楼层
我是新手,有无''的区别不是很清楚,我回去再试试
还有个问题也请解答:比如求得有1+i,1-i,2+3i,2-3i,0.6共5个根,如何提取其中的正实根0.6??
 楼主| 发表于 2009-7-18 20:21 | 显示全部楼层
ls的问题应该可以用isreal做到
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-20 04:14 , Processed in 0.175565 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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