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!

 채택된 답변

KSSV
KSSV 2020년 9월 10일

1 개 추천

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

Kristoffer Søhagen
Kristoffer Søhagen 2020년 9월 10일
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 2020년 9월 10일
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 2020년 9월 10일
Great! Thank you!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Polynomials에 대해 자세히 알아보기

질문:

2020년 9월 10일

댓글:

2020년 9월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by