首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在matlab中绘制一个类似于ay + bx +c=0的方程?

如何在matlab中绘制一个类似于ay + bx +c=0的方程?
EN

Stack Overflow用户
提问于 2014-09-16 14:24:27
回答 2查看 1.7K关注 0票数 1

我已经在这里搜过了,但找不到我要找的东西。

我用符号数学成功地做到了,但我不太理解它。举个例子,做完之后

(-y+x+1 == 0)

我得到了一个很好的图,但是我以后能用这个表达式来计算它的值吗?比如,首先我想画出-y +x+1 == 0,另一时刻我想要解f(3),其中f(x) =x+1(相同的方程)。

我知道我可以写一个函数来完成这个任务,但作为一个函数,我不知道如何绘制它。另一方面,我知道如何用符号数学来绘制图形,但我不知道如何计算。

我正在编写一个PLA算法,我需要为这个方程生成'a','b‘'c’,这就是为什么我需要知道如何用“系统代码”来绘制和求解,而不是一个一个地输入。

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-16 14:36:22

你给我们的方程是一条直线,所以是多项式。系数为y= -b/a*x -c/a。

代码语言:javascript
复制
% ay + bx + c = 0 reads y = -b/a*x - c/a*1
a = -1; 
b = 1;
c = 1;
p = [-b/a, -c/a];   % polynomial representing your equation

% plot like this
x = linspace(-2,2, 50);
figure
plot(x, polyval(p,x)) % evaluate polynomial p at the positions x

% find the solution
roots(p) # -1

如果您需要或希望使用ezplot,您可以将polyval-表达式放入内联函数中,并且可以用该句柄调用ezplot:

代码语言:javascript
复制
f = @(x) polyval(p, x); % the function
ezplot(f)

票数 1
EN

Stack Overflow用户

发布于 2014-09-16 14:33:34

只需将f定义为符号变量x的函数即可

代码语言:javascript
复制
>> syms x
>> f = x+1;

然后可以使用f作为ezplot的输入。

代码语言:javascript
复制
>> ezplot(f)

产生的图形

另一方面,要解方程f(x)=0,请使用solve如下:

代码语言:javascript
复制
>> solve(f)
ans =
-1

ezplotsolve也可以与字符串输入一起使用,但是在这两种情况下,字符串必须是不同的。要绘制该图形:

代码语言:javascript
复制
>> ezplot('x+1');

要解方程:

代码语言:javascript
复制
>> solve('x+1=0')
ans =
-1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25871365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档