• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pierwiastek z ujemnej liczby

Object Storage Arubacloud
0 głosów
498 wizyt
pytanie zadane 13 października 2020 w C i C++ przez kvbq Obywatel (1,490 p.)

Witam

Próbuje wykonać program obliczający wartość funkcji, która zmienia się w zależności od wartości x. Zadanie wymaga ode mnie m.in obliczenie wartości funkcji (2.2-sqrt(tg(x))^x dla x>=5&&x<=6. Z tego by wynikało, że musze obliczyć pierwiastek z liczby ujemnej, ponieważ wartości tg w tym przedziale są ujemne. Podobny problem występuje też dla innej formy funkcji(to miejsce jest opisane w kodzie w komentarzu). Nie wiem czy błąd występuje w zadaniu czy może ja coś robię źle.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{

    double x,x1,x2,y,dx;
    x1=3.0;
    x2=6.0;
    dx=0.04;//(x2-x1)/100;
    for(x=x1;x<=x2;x+=dx)
    {
        if(x<4) // tu znajduje się instrukcja która zwraca liczbe ujemna dla tg( 1.2+x) x=3.52
        {
            y=3*sqrt(7*x+tan(x+1.2));

        }else if(x<=5)
        {
            y=1/(x*x+log(x));

        }else //tu znajduje się instrukcja odpowiedzialna za wyliczenie działania opisanego w poście
        {
            y=pow(2.2-sqrt(tan(x)),x);
        }

        printf("%f  %f\n",x,y);
    }
    return 0;
}

 

1
komentarz 13 października 2020 przez j23 Mędrzec (194,920 p.)

Nie wiem czy błąd występuje w zadaniu czy może ja coś robię źle.

To bardzo prawdopodobne, bo nie ma takiej liczby rzeczywistej, która po podniesieniu do kwadratu dałaby wynik ujemny.

No chyba że musisz wprowadzić liczby zespolone...

komentarz 13 października 2020 przez Oscar Nałogowiec (29,320 p.)

@kvbq,
 Może podaj pełną treść zadania (może być link) bo jak sądzę, najbardziej prawdopodobnym rozwiązaniem jest to, że coś źle zrozumiałeś z treści tego zadania albo tam jest jakiś błąd.

komentarz 13 października 2020 przez kvbq Obywatel (1,490 p.)

Obliczyć wartość funkcji z wyborem formuły

Wyniki obliczeń zapisać do pliku tekstowego. Narysować wykres y(x).

Funkcja:

3*pierwiasek(7x+tg(x+1,2))        dla x<4

1/(x^2+ln(x))                               dla  4<=x<=5

(2,2-pierwiastek(tg(x)))^x           dla x>=5

krok: 0.3 tu widzę że dałem 0.4 ale to nie powinno wpłynąć na błąd

odcinek[a,b]: [3,6]

1 odpowiedź

0 głosów
odpowiedź 13 października 2020 przez TOM_CPP Pasjonat (22,640 p.)
wybrane 13 października 2020 przez kvbq
 
Najlepsza

Wszystko zależy od tego czy funkcja zdefiniowana jest nad ciałem liczb zespolonych, czy też ciałem liczb rzeczywistych. W pierwszym przypadku obliczenia musisz prowadzić używając w swoim kodzie elementów zespolonych. W drugim przypadku dziedzina funkcji jest niepoprawnie określona.

 

komentarz 13 października 2020 przez kvbq Obywatel (1,490 p.)
Liczb zespolonych jeszcze nie przerabialiśmy więc pewnie cos jest nie tak z zadaniem

Podobne pytania

+1 głos
1 odpowiedź 193 wizyt
pytanie zadane 19 listopada 2023 w JavaScript przez Kczor Nowicjusz (130 p.)
0 głosów
2 odpowiedzi 148 wizyt
pytanie zadane 10 stycznia 2017 w C i C++ przez BlueWee Użytkownik (730 p.)
+1 głos
3 odpowiedzi 575 wizyt
pytanie zadane 8 lutego 2016 w C i C++ przez Plq0 Nowicjusz (130 p.)

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...