Hello, I'm having a difficulty plotting the results using a for loop. I want to plot epsilon vs sigma but I get the following error: Array indices must be positive integers or logical values. Can you please help me? Thank you.
E=200*10^9; %Pa Elastic Modulus
v= 0.28; %Poisson's Ratio
eps=linspace(0,0.1,1000);
Y= 375.8;
m=2000;
n=0.5;
for i= 1:1000
sigma(i)=Y(1+m*eps(i)^n)
end
eps=[0 eps];
plot(eps,sigma)

 採用された回答

Alan Stevens
Alan Stevens 2021 年 3 月 19 日

0 投票

Like so:
E=200*10^9; %Pa Elastic Modulus
v= 0.28; %Poisson's Ratio
eps=linspace(0,0.1,1000);
Y= 375.8;
m=2000;
n=0.5;
for i= 1:1000
sigma(i)=Y*(1+m*eps(i)^n); % You need a multiply sign between Y and what follows it.
end
% eps=[0 eps]; You don't need this.
plot(eps,sigma)

1 件のコメント

alexrecai
alexrecai 2021 年 3 月 19 日
Oh, I didn't notice that. Thank you very much!

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

その他の回答 (0 件)

製品

タグ

質問済み:

2021 年 3 月 19 日

コメント済み:

2021 年 3 月 19 日

Community Treasure Hunt

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

Start Hunting!

Translated by