i am trying to find omega using while

3 ビュー (過去 30 日間)
Casper Stroem
Casper Stroem 2017 年 12 月 3 日
コメント済み: Casper Stroem 2017 年 12 月 3 日
I need to determine omega.
I came so far to think that i need a while loop to do so but I get an error, so want to check my syntax is correct.
%Exercise 3
m=[3.3e2 3.3719e2 2.7564e2 2.2902e2 1.9140e2 1.6692e2 1.5947e2...
8.4519e1 4.7877e1 3.3029e1 2.5357e1 1.9990e1]; %constants given
py_guess=zeros(1,length(x));
pz_guess=zeros(1,length(x));
py_guess(2:length(x))=100;
pz_guess(2:length(x))=100;
tolerance=0.001;
while
omega=sqrt(pz_guess(12)/(u_zGuess(12)*m(12)))
if
omega_old=omega
break
else
[u_yGuess,u_zGuess]=UyUzCalcGuess(x,py_guess,pz_guess,EI1,EI2,B);
end
end
my function runs as it should.
Assignment3
Error: File: Assignment3.m Line: 210 Column:
6
Expression or statement is incomplete or
incorrect.

採用された回答

Walter Roberson
Walter Roberson 2017 年 12 月 3 日
The syntax for while is
while CONDITION
...
end
If you want your loop to run until you break, then use
while true
...
end
  5 件のコメント
Walter Roberson
Walter Roberson 2017 年 12 月 3 日
You have
omega_old=sqrt((pz_guess(12)/(u_zGuess(12)*m(12))));
which assigns to omega_old. Then you have
omega_old=omega
which assigns a different value to omega_old . Meanwhile, you have not assigned a value to omega .
omega_old = -inf;
omega = 0;
while omega_old <= omega
omega_old = omega;
omega = ....
end
Casper Stroem
Casper Stroem 2017 年 12 月 3 日
thank you! it is running now and i am getting values, however it is not converging before i get an error with matrix exceeds index

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

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by