how can i plot this equation ??? please

1 回表示 (過去 30 日間)
sihem chaib
sihem chaib 2014 年 2 月 15 日
コメント済み: sihem chaib 2014 年 2 月 15 日
clear all
clc
%le 29/10/2013 à 23h00
%les géométries de la poutre
M=30; % masse de la poutre KG/ML??
EI=200*10^7;% Rigidité flexionnelle de la poutre N/m^2
%l=22;%m
%les caractéristiques du sol
c=0;% constante d'amortissement
k=0.2*10^8;% rigidité du sol N/m^2
v=5;%vitesse m/s de chargement
n1=5;%nombre des modes
%longueur de la poutre en m
l=(3*pi/2)*(4*EI/k)^0.25; %m;
%les conditions initiales
v_0=0;%m/s;vitesse initiale
T_0=0.01*10^-4;%m déplacement initial
t1=l/v;
for m=1:n1;
x=1:0.01:l+1;
phi(x,m)=sin((x-1)*pi*m/l);
t=1:0.01/v:t1;
beta=c/(2*M);
B=T_0;
w_d(m)=((((m^4)*(pi^4)*EI)/(M*(l^4)))+(k/M))^0.5; %pulsation propre
w_n(m)=((w_d(m)^2)-(beta^2))^0.5;% pseudo pulsation
A(m)=((v_0)+(B*beta))/w_n(m);
T(t,m)=(exp(-beta*(t-1)*(A(m)*sin((w_n(m))*(t-1))+B*cos((w_n(m))*(t-1)))));
ww(x,t,m)=phi(x,m)*T(t,m);%(sin(m*pi*(xx1(i)-1)/l))* T(j,m);%((exp(-beta*(tt1(j)-1)))*(A(m)*sin((w_n(m))*(tt1(j)-1))+B*cos((w_n(m))*(tt1(j)-1))));
end
x=1:0.01:l+1;
t=1:0.01/v:t1;
ww1(x,t)=0;
for m=1:n1;
ww1(x,t)=ww1(x,t)+ww(x,t,m);
end
plot (ww1(:,1),'B');
hold on
%remarque : se sont des ondes stationaires changent d'emplitudes mais ne
%changent pas de position.
  2 件のコメント
Walter Roberson
Walter Roberson 2014 年 2 月 15 日
編集済み: Walter Roberson 2014 年 2 月 15 日
Side note: you can replace
ww1(x,t)=0;
for m=1:n1;
ww1(x,t)=ww1(x,t)+ww(x,t,m);
end
with
ww1(x,t) = sum(ww(x,t,:));
sihem chaib
sihem chaib 2014 年 2 月 15 日
ok think you i try your proposition

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

採用された回答

Walter Roberson
Walter Roberson 2014 年 2 月 15 日
Your code has
t=1:0.01/v:t1;
ww1(x,t)=0;
so you are trying to use t as an index into an array. But t has values like 1.80 and floating point numbers cannot be used as indices.
Try
t=1:0.01/v:t1;
ww1(x, 1:length(t)) = 0;
Except, that is, that as I noted above you do not need to initialize ww1(x,t). So you can take the statement I gave
ww1(x,t) = sum(ww(x,t,:));
and replace it with
ww1(x,1:length(t)) = sum(ww(x,1:length(t),:),3);

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGraphics Objects についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by