MATLAB中solve函数的问题

先看一下:>>NodeENodeE=-201294>>distancedistance=22.652513.4046NodeE和distance都是有值的,但我用solv... 先看一下:

>> NodeE

NodeE =

-20 12
9 4

>> distance

distance =

22.6525 13.4046
NodeE 和distance都是有值的,但我用solve函数解包括NodeE和distance的方程结时,却被看成是符号了,导致x1,y1等于一连串的表达式
>> [x1,y1]=solve('(x-NodeE(1,1))^2+(y-NodeE(2,1))^2=distance(1)^2','(x-NodeE(1,2))^2+(y-NodeE(2,2))^2=distance(2)^2','x,y')%这里NodeE被全看成符号了!

但是,把x1(1)的表达式复制了再运行,能得到结果

请问要怎样解决?
展开
 我来答
帐号已注销
高粉答主

2020-05-18 · 每个回答都超有意思的
知道答主
回答量:2169
采纳率:0%
帮助的人:36.2万
展开全部

1、首先打开Matlab,直接在命令行输入solve函数,里面加上方程式,如下图所示,这里是一个二元一次方程。

2、接着直接回车就可以得到结果了,如下图所示。

3、然后solve函数中还可以写两个方程式,如下图所示。

4、回车后会得到两个未知数的解,如下图所示。

5、还可以先声明变量,然后编写方程式,并在solve中填入变量和方程式。

6、最后直接用点的方式得到答案即可,如下图所示。

寇开汲祺
2019-04-19 · TA获得超过3830个赞
知道大有可为答主
回答量:3131
采纳率:32%
帮助的人:179万
展开全部
这是由于matlab里面有个关于默认自变量规定问题
一般情况下默认自变量为表达式中距离x最近的字母
你可以用这种方法来求解
[x0]=solve('2600*(z0+15)=(z0-24985)*x1')
[z0]=solve('2600*(z0+15)=(z0-24985)*x1')
由于上两行行中只有X1与z0两个变量,而且X1与X较近,所以是求解x1
为了求解z0,可以用
[z0]=solve('2600*(z0+15)=(z0-24985)*x1','z0')
这样的话就没问题了
建议你指定代求变量
相关函数
findsym
查找自变量,比较有用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-11-23
展开全部
实际上 solve 函数默认的都把变量当作sym来运算

计算出来的结果都是sym对象。

为什么呢? 追去更高的准确度。

譬如solve('x=32/3')计算出来的是32/3 而不是小数

sym对象计算出来的是一个表达式, 而不是数值。

如果您想要得到数值结果的话,再用一个函数eval即可

[x1,y1]=solve('(x-NodeE(1,1))^2+(y-NodeE(2,1))^2=distance(1)^2','(x-NodeE(1,2))^2+(y-NodeE(2,2))^2=distance(2)^2','x,y');

x1=eval([x1]);
y1=eval([y1]);

参考资料: 百度

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
简苇唐雅爱
2019-01-05 · TA获得超过3654个赞
知道大有可为答主
回答量:3063
采纳率:26%
帮助的人:442万
展开全部
这样用肯定是不行的
可以这样用
syms
a
b
t=a+b
[a
b]=solve(t-4,'a-b=0')
注意t-4没有引号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
用新首熹
2019-10-27 · TA获得超过4212个赞
知道小有建树答主
回答量:3144
采纳率:33%
帮助的人:188万
展开全部
function
[x0,y0]=sss(a,b,c)
if
nargin
<1
a=0.26;
b=0.02;
c=0.15;
end
syms
x;
syms
y;
temp1=(x-a)^2+(y-b)^2-c^2;
temp2=1+y^1.5-x;
[x0,y0]=solve(temp1,temp2);
x0=eval(x0);
y0=eval(y0);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式