Use a for loop to evaluate

use a for loop to evaluate the function y = {exp(x+1) if x<-1, 2+cos(pi*x) if -1<=x<5, 10*(x-5)+1 if x>=5}
e^(x+1) if x<-1
y = {2+cos(pi*x) if -1<=x<5
10(x-5)+1 if x>=5
I am having trouble correctly setting up the for loop to store the values because the final product of this, is to plot the function y(x).

2 个评论

I forgot the range for the loop which is -2 to 6 increasing by 1 each time. Sorry!
What have you done so far?

请先登录,再进行评论。

回答(2 个)

according to my little knowledge if you need to store this value for every loop in a Matrix where every inner for loop represent a row you can do this
if
y=zeros(9)
x=input('x=')
for i1=-2:6
y(i1)=.....
end
then y will be an array whose values are stored in the above Zero Matrix
Does this help ?

1 个评论

You cannot have zero or negative indexes, like -2 or -1 or 0. You can either add 3 to i1, or use a counter like I did in my Answer.

请先登录,再进行评论。

Image Analyst
Image Analyst 2013-2-9
编辑:Image Analyst 2013-2-9
Try something like this:
index = 1;
for x = -2 : 1 : 6
if x < -1
% Insert code/formula here
y(index) = .........whatever.....
else if x >= -1 && x < 5
% Insert other code/formula here
else
% x >= 5
% Insert code/formula here
end
index = index + 1;
end
% Plot it.
plot(x,y, 'bo-', 'LineWidth', 3, 'MarkerSize', 15);
title('Plot of y vs. x', 'FontSize', 25);

2 个评论

Thank you. I will ask if you could generically go where the y(index) first appears. Basically what would the "whatever" be? I'm still very new to Matlab
You insert the appropriate formula from your question:
y = e^(x+1) if x<-1
y = {2+cos(pi*x) if -1<=x<5
y = 10(x-5)+1 if x>=5

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

提问:

2013-2-9

Community Treasure Hunt

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

Start Hunting!

Translated by