声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2518|回复: 5

[编程技巧] 如何将syms格式转成数组

[复制链接]
发表于 2007-7-7 10:49 | 显示全部楼层 |阅读模式

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

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

x
我最近用syms循环几次解方程组,(因为系数不是常数),得到几组根之后,不能用plot命令画图,为什么?能将syms格式的解转换成普通的数组吗?哪位高手能帮帮我?

[ 本帖最后由 eight 于 2007-7-9 21:47 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-7-7 11:39 | 显示全部楼层
每次赋给系数不同的值不就可以了
syms k
k=1(2,3)
发表于 2007-7-7 12:25 | 显示全部楼层
符号函数的绘图,是通过对符号变量赋值来完成的。参看funtoo工具的图像就知道了。给你一个例子:
S=solve('x^2+2*a*x=1')
a=0:2:100;
plot(a,-a+(a.^2+1).^(1/2))
顺便问个问题,下面的解看不懂啊
S=solve('sin(x)^2+2*a*cos(x)=1')

S =

                      1/2*pi
                     -1/2*pi
  atan((-4*a^2+1)^(1/2),2*a)
atan(-(-4*a^2+1)^(1/2),2*a)
貌似atan有2个输入参数啊,可实际上只有一个。
>> atan(2,1)
??? Error using ==> atan
Too many input arguments.
那么解atan(-(-4*a^2+1)^(1/2),2*a)如何理解呢?只是好奇,对解方程不在行:@P

[ 本帖最后由 花如月 于 2007-7-7 12:26 编辑 ]
 楼主| 发表于 2007-7-9 08:36 | 显示全部楼层
谢谢楼上两位,我解的方程组非常复杂,很难将未知数和系数写成y=f(a)的形式,我的方程类似为:a^2*y^3-a*x^2*y+2*y+5=0 (1)
                                 4*x*y^2+a^2*x^3-5*x*y+x=0  (2)
要求a从1变化到50,绘出x-a和y-a的图。
我的方程比这个复杂多了,是个九元方程组,所以很难写成x=f(a),y=f(a)的形式,再请求大家帮忙。
另外楼上说的atan是反正切函数,具体我也没用过,不知道你说的如何理解,不好意思,我在这方面更是生手。
发表于 2007-7-9 21:48 | 显示全部楼层
原帖由 hongniang 于 2007-7-7 10:49 发表
我最近用syms循环几次解方程组,(因为系数不是常数),得到几组根之后,不能用plot命令画图,为什么?能将syms格式的解转换成普通的数组吗?哪位高手能帮帮我?


试试 subs 函数
发表于 2007-7-10 08:08 | 显示全部楼层

回复 #4 hongniang 的帖子

你的方程用下面的函数调用可以解决:
solve(eq1,eq2,...,eqn,var1,var2,...,varn)
如果是微分方程求解使用:
dsolve('eq1,eq2,...,eqn','cond1,cond2,...,cond2','Var')
每次调用的方程不超过12个都是可以解决的.
如果多于12个可以分开求,然后求交集

至于绘制出解随a从1到50的变化,用fpot完全可以实现。
个人认为题目不是特别棘手,多动手。函数调用出问题就
看help文档,里边有实例。

[ 本帖最后由 花如月 于 2007-7-10 08:11 编辑 ]

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-11-12 10:01 , Processed in 0.068434 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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