Help me with this error!

1 次查看(过去 30 天)
I'm trying to plot x vs y,saving the values in arrays:
clear all;
l = 0.1;
for index = 1:30;
x(index) = (index-1)*0.1;
y(index) = pi*(x.^2 + 1).^2 *l;
end
%PLOT x VERSUS y
plot(x,y);
xlabel('x');
ylabel('pi*((x^2+1)^2)*l');
But I'm getting this error: In an assignment A(I) = B, the number of elements in B and I must be the same.
Error in problem_02 (line 8) y(index) = pi*(x.^2 + 1).^2 *l;

采纳的回答

Roger Stafford
Roger Stafford 2015-3-14
Instead of:
y(index) = pi*(x.^2 + 1).^2 *l;
you should write:
y(index) = pi*(x(index)^2 + 1)^2 *l;
Either that or else you should do:
y = pi*(x.^2 + 1).^2 *l;
after you exit the for-loop.
As it stands you have a scalar on one side of the equation and a vector on the other side in the original
y(index) = pi*(x.^2 + 1).^2 *l;
That is what matlab is unhappy about.
  1 个评论
Mobasher Hossain
Mobasher Hossain 2015-3-14
Thanks Roger.One more question: I was asked to plot the change in revolution as I rotate function (x^2+1) around x axis,using disk method from 0 to 3 with an increment of 0.1.Now,I summed all y= pi*(x^2 +1)^2 * 0.1 for each x from 0 to 30, and stored those values in arrays.The graph that I'm getting is just on the positive y side(I know because my y function is in squares) but how do I get a 'change in volume' graph when I rotate the function around x axis for x 0 to 3?I think the question is asking me for another graph on the negative y axis,isn't it?I'm very confused!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by