i am trying to find omega using while

조회 수: 2 (최근 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