using for loop plotting problem help me

3 次查看(过去 30 天)
function homework
f= @(x) 3*x^5+7*sind(x)^2;
fd= @(x) 15*x^4+7*sind(2*x)^2+3*x^5+7*sind(x)^2;
a=-1;
b=3;
n=5;
e=1.1*10^3;
s=(fd(a)+fd(b));
for i=1:1:n-1
h=(b-a)/i;
s=s+2*fd(i);
I=(h/2).*s
error=I-e
end
end
the problem is ı have values but try everything for plotting but see nothing even there is no line or spline .
  3 个评论
Rik
Rik 2021-1-12
This time I edited your question for you (also removing most blank lines). Next time, please use the tools explained on this page to make your question more readable.
I don't understand your comment. Your function does not contain any plotting functions, and at the end of a function all variables that aren't output variables will be wiped.
Also, you overwrite the contents of you variables every iteration of your loop. You may also want to look at the Onramp part concerning loops and indexing.

请先登录,再进行评论。

采纳的回答

Mathieu NOE
Mathieu NOE 2021-1-12
hello
I assumed that you wanted to plot I and error , but you forgot to index thos variables
see below :
f= @(x) 3*x^5+7*sind(x)^2;
fd= @(x) 15*x^4+7*sind(2*x)^2+3*x^5+7*sind(x)^2;
a=-1;
b=3;
n=5;
e=1.1*10^3;
s=(fd(a)+fd(b));
for i=1:1:n-1
h=(b-a)/i;
s=s+2*fd(i);
I(i)=(h/2).*s;
error(i)=I(i)-e;
end
figure(1),plot(1:n-1,I,'b')
figure(2),plot(1:n-1,error,'r')
  6 个评论
Rik
Rik 2021-1-12
Just a note: you should avoid using function names as variable names. It is very common to want to use the error function, so shadowing it is a bad habit (similar to max, mean, and sum).

请先登录,再进行评论。

更多回答(1 个)

David Hill
David Hill 2021-1-12
What are you trying to plot?
f= @(x) 3*x.^5+7*sin(x).^2;%I doubt you want sind
fd= @(x) 15*x.^4+7*sin(2*x).^2+3*x.^5+7*sin(x).^2;
x=-1:.01:3;
plot(x,f(x),x,fd(x));

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by