i am trying to find omega using while

2 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Walter Roberson
Walter Roberson il 3 Dic 2017
The syntax for while is
while CONDITION
...
end
If you want your loop to run until you break, then use
while true
...
end
  5 Commenti
Walter Roberson
Walter Roberson il 3 Dic 2017
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 il 3 Dic 2017
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

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by