필터 지우기
필터 지우기

Wie Bestimme ich ein t-Wert bei dem als erstes der Wert y2=-0.5) unterschritten wird numerisch ?

조회 수: 4 (최근 30일)
Ich soll den t-Wert t2 numerisch bestimmen bei dem als erstes der Wert y2=-0.5 unterschritten wird also nur durch Auswerten der Zahlenwerte von y,t. Ich habe es so Probiert ohne erfolg
t=0:0.1:5; y=1+2*cos(0.2*t.^2);
plot(t,y) xlabel('t[s]') ylabel('y[V]')
y2=find(y==-0.5,1)
Im Command Windows wird folgendes angezeigt y2 =
1×0 empty double row vector
Viel dank im Vorraus

채택된 답변

Niels
Niels 2017년 1월 18일
Hi,
der Grund warum du eine leere Menge erhälst ist, dass find einen Wert in deinem Vector y2 sucht, der genau -0.5 ist. Ist sehr unwahrscheinlich, dass du den Wert "zufällig triffst". Da deine Bedingung lautet "<" solltest du also auch y<-0.5 verwenden. find wird auch den ersten index zurückgeben für die Bedingung zutrifft.
ich hätte das persönlich mit einer for oder while Schleife gelöst und bei erfüllung der Bedingung ein break gesetzt.
  댓글 수: 1
Niels
Niels 2017년 1월 19일
Wenn du einen genaueren Wert haben willst, wann y2=-0.5 ist kann du das auch in ein Nullstellenproblem umwandeln und fzero benutzen:
f=@(x) 1+2*cos(0.2*x.^2)+0.5;
y2=fzero(f,0);
y2 wird dann allerdings mehrere Lösungen beinhalten (ist also ein Vektor) da f persiodisch ist und mehrere Nullstellen hat, bzw deine Funktion mehrmals -0.5 ist.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Condensed Matter & Materials Physics에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by