15 views (last 30 days)

I'm quite new to matlab and I'm trying to grasp how to write functions and plot them as well.

One of my excercises in class asks me to:

"Make a function that plots the equation ax^2+bx+c=0, where a,b,c and x are used as input."

Does that mean I need to define values for a,b,c and x first, in order to plot anything?

Not sure how to best approach this in matlab.

My code so far looks like this:

function F(x,a,b,c);

y = a*x.^2+b*x+c;

plot(x,y)

end

But that doesn't plot anything as it is though..

I was hoping on some input on how to setup a good solution here, or maybe just a simple way by assigning values to the variables.. - Again, my coding skills are completely beginner, so any help is appreciated.

edward holt
on 31 Jan 2020

It's rough, but I'm also quite new to Matlab.

You answered your own question - you do need to define x, a, b and c.

x needs to be a vector (a series of values over which your function evaluates).

% xmin and xmax define the range over which your function plots

% xres defines how often a point is plotted (low number - smooth curve,

% high number, rough)

inputs = inputdlg({'x min','x max','x resolution','a','b','c'},'input)')

xmin = str2num(inputs{1})

xmax = str2num(inputs{2})

xres = str2num(inputs{3})

a = str2num(inputs{4})

b = str2num(inputs{5})

c = str2num(inputs{6})

x = xmin:xres:xmax

f(x,a,b,c)

function f(x,a,b,c)

y = a*x.^2+b*x+c;

plot(x,y)

end

Jakob B. Nielsen
on 31 Jan 2020

It does, indeed, need to be given some inputs. Matlab has no way of knowing what a, b, c and x are.

function F(x,a,b,c);

y = a*x.^2+b*x+c;

plot(x,y)

end

It will work, but you need to tell it inputs. E.g. in the command window try making an x vector for example x=1:0.01:100; and then call your function with some variables for a, b and c that you can pretty much make up as you want. For example

F(x,1,2,3)

That will execute the funtion y=1*x.^2+2*x+3 and then plot x,y.

Sign in to answer this question.

Opportunities for recent engineering grads.

Apply Today
## 2 Comments

## Direct link to this comment

https://ww2.mathworks.cn/matlabcentral/answers/502965-setting-up-and-plotting-functions#comment_792065

⋮## Direct link to this comment

https://ww2.mathworks.cn/matlabcentral/answers/502965-setting-up-and-plotting-functions#comment_792065

## Direct link to this comment

https://ww2.mathworks.cn/matlabcentral/answers/502965-setting-up-and-plotting-functions#comment_792075

⋮## Direct link to this comment

https://ww2.mathworks.cn/matlabcentral/answers/502965-setting-up-and-plotting-functions#comment_792075

Sign in to comment.