フィルターのクリア

Going up from negative in for loop counter

1 回表示 (過去 30 日間)
Crista
Crista 2013 年 9 月 11 日
I'm trying to make this code
for x=-10:10;
y=-3*x^2;
end
plot(x,y)
Plot like this code
x=-10:10;
y=-3*x.^2;
plot(x,y,'--o')
I've tried
for x=-10:10
y(x)=-3*x.^2;
end
plot(x,y,'--o')
which doesn't work because I can't have the negative x numbers as y(x). I'm lost on how to fix this. Thank you.

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 9 月 11 日
編集済み: Azzi Abdelmalek 2013 年 9 月 11 日
You can avoid using negative index
x=-10:10;
n=numel(x);
y=zeros(1,n) % Pre-allocate
for k=1:numel(x)
y(k)=-3*x(k)^2;
end
plot(x,y,'--o')
  1 件のコメント
Crista
Crista 2013 年 9 月 11 日
That's perfect! Thank you!

サインインしてコメントする。

その他の回答 (1 件)

Mahdi
Mahdi 2013 年 9 月 11 日
When you plot, you`re only plotting the last point because the variable y is inside the for loop (and is not a matrix). Other than what`s been suggested, the way that you can do it is
for x=-10:10;
y=-3*x^2;
plot(x,y)
hold on
end
  1 件のコメント
Mahdi
Mahdi 2013 年 9 月 11 日
Please note that you should avoid for-loops to plot things like this because they`ll be resource-consuming.

サインインしてコメントする。

カテゴリ

Help Center および File Exchange2-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