I am trying to make a function which takes a polynomial, a maxvalue of x and a minvalue of x. I want to plot the function between max and min with 1000 points.
this is what i have come up with so far:
function [] = Oppgave2(funksjon, intervallMin, intervallMax)
figure
%a
x = [intervallMin:((abs(intervallMin)+abs(intervallMax))/1000):intervallMax]; %Here i create the 1000 points between min and max.
plot(x, funksjon); %Display the function in a figure
end
I want to be able to input funksjon as x.^2-3.*x+2 for example, but i cant make it work. The solution is probably really simple but i am very new to programming in matlab.
Thanks in advance!

 Akzeptierte Antwort

KSSV
KSSV am 10 Sep. 2020

1 Stimme

LEt a, b be your max and min values
x = linspace(a,b,1000) ;
p = 2*x.^2+3*x+5 ; % polynomial
plot(x,p)

5 Kommentare

Kristoffer Søhagen
Kristoffer Søhagen am 10 Sep. 2020
Thats a better way to to get the x values! Thanks! But my main problem is that matlab doesnt like when in call the function like this:
Oppgave2(x.^2-3.*x+4, -5, 5)
I get this error message: Unrecognized function or variable 'x'.
You cannot input like this. USe like below:
x = linspace(a,b,1000) ;
f = @(x) 2*x.^2+3*x+5 ;
p = f(x) ; % polynomial
plot(x,p)
Kristoffer Søhagen
Kristoffer Søhagen am 10 Sep. 2020
Yeah, that works. But i want to make a function i can call from other scripts to plot a polynomial between a and b. If it is possible.
Example:
function(polynomial, a, b)
function(x.^2+3.*x-4, -5, 5)
a =1 ;b = 10 ;
f = @(x) 2*x.^2+3*x+5 ;
p = mypoly(f,a,b) ;
function p = mypoly(f,a,b)
x = linspace(a,b,1000) ;
p = f(x) ; % polynomial
plot(x,p)
end
Kristoffer Søhagen
Kristoffer Søhagen am 10 Sep. 2020
Great! Thank you!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by