Trying to plot function

3 次查看(过去 30 天)
Ryan Elway
Ryan Elway 2017-9-13
评论: Ryan Elway 2017-9-13
I have the function y = (x+2)^2/(3x+1) over the range 1=<x=<2 and when I graph it the plot stops at 1 on the x axis so when I put in the range into the data bounds it doesn't show up. I'm not sure if I'm typing the function out wrong or what I'm doing.
here is what I have:
clc;
x = linspace(0,1,100);
y = (x+2)^2./(3*x+1);
plot(x,y);
I've tried different values for the linspace, putting a "." before the ^2
Any help would be appreciated

采纳的回答

KSSV
KSSV 2017-9-13
x = linspace(0,1,100);
y = (x+2).^2./(3*x+1);
plot(x,y);
REad about element by element operation...use .^ instead of ^.
  3 个评论
KSSV
KSSV 2017-9-13
The plot is stopping on xaxes at 1, because you have provided x values till 1 only.
See this:
x = linspace(0,100,1000); % change limits here
y = (x+2).^2./(3*x+1);
plot(x,y);
Ryan Elway
Ryan Elway 2017-9-13
Thank you again I actually figured it out I changed the linspace part to
x = linspace(0,2,100);
thanks again, my mistake

请先登录,再进行评论。

更多回答(1 个)

Aryan Safaie
Aryan Safaie 2017-9-13
Dear Ryan,
Are you sure that adding a '.' before the '^2' doesn't help? When I try the following line when calculating y, I get a plot that looks correct:
y = (x+2).^2./(3*x+1);
Best,
-aryan
  1 个评论
Ryan Elway
Ryan Elway 2017-9-13
I had x = linspace(0,1,100) instead of linspace(0,2,100) thank you for the help though!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by