Pole obszaru zamknietego

0

Przepraszam was że o to was tutaj prosze ale jest to mi koniecznie potrzebne do szkoły a nie mam pojęcia jak to zrobić. Może ktoś z was ogarnia na tyle matmę że mi coś w tym pomoże...

Oblicz pole obszaru zamkniętego funkcji f(x) = cos x w przedziale [-pi/2 ; pi/2]

3

Dziwne zadanie na start… Tzn. jest elementarne, jak się ma do niego narzędzia (z definicji to \int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} \cos (x) ; \text{d}x = 2), ale bez tych narzędzi… to właściwie wymaga wymyślenia ich na nowo.

EDYCJA:
A, chyba że mówisz o całkowaniu numerycznym, to wtedy po prostu https://pl.wikipedia.org/wiki/Ca%C5%82kowanie_numeryczne i weź sobie pierwszą z brzegu metodę.

0

@Althorion: Ja nie wiem czy to o całki chodzi bo to zadanie jest z informatyki. Jak umiesz całkować to byś mi z tym zadaniem pomógł bo ja z całkami do czynienia nigdy nie miałem.

2

Krok po kroku

Całka nieoznaczona
screenshot-20210223141412.png

Całka oznaczone
screenshot-20210223141343.png

Sorry za jakość obrazków, policzyłem na smartfonie.

1

@CzolemLachii: no, czyli to jest jednak całkowanie numeryczne. To tak jak mówiłem, przeczytaj sobie bardzo pobieżnie tamten zalinkowany wyżej wpis na Wikipedii. Na przykład o metodzie prostokątów, która jest najprostsza.

Ogólnie idea jest taka, że przybliżasz obszar, którego pole chcesz policzyć prostokątami. A jak to zrobić — tak jak w kodzie szatkusa, bierzesz sobie jakąś małą wartość (u niego — jedna setna), która będzie podstawą Twoich prostokątów, i patrzysz jaką będą miały wysokość — a ta wysokość to wartość zadanej funkcji (u Ciebie — cosinusa) tam gdzieś w obrębie tego prostokąta (na jego początku u szatkusa). Pole prostokąta to już wiadomo — pole podstawy razy wysokość — i dodajesz w pętli wszystkie pola takich prostokątów, aż otrzymasz coś, co z grubsza odda szukany rezultat.

1
import java.util.function.Function;

public class Integration {

    public static void main(String[] args) {

        Function<Double, Double> cosine = Math::cos;
        double lowerBound = -Math.PI / 2;
        double upperBound = -lowerBound;
        double delta = 0.01;

        System.out.println(integrate(cosine, lowerBound, upperBound, delta));
    }

    public static double integrate(Function<Double, Double> function, double from, double to, double delta) {

        double integral = 0.0;
        double x = from;

        while (x < to) {
            integral += function.apply(x) * delta;
            x += delta;
        }

        return integral;
    }
}
1.9999999540410227
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.util.function.Function;

import static org.hamcrest.Matchers.*;
import static org.hamcrest.MatcherAssert.*;

class IntegrationTest {

    private Function<Double, Double> cosine;
    private double lowerBound;
    private double upperBound;
    private double delta;
    private double expectedIntegral;

    @BeforeEach
    void setUp() {
//        given
        cosine = Math::cos;
        lowerBound = -Math.PI / 2;
        upperBound = -lowerBound;
        delta = 0.001;
        expectedIntegral = 2.0;
    }

    @Test
    void integrate() {
//        when
        final double result = Integration.integrate(cosine, lowerBound, upperBound, delta);
//        then
        assertThat(result, closeTo(expectedIntegral, 0.000001));
    }
}
0

@Althorion: Problem w tym że to mam na kartce obliczyć a nie w programie. Czyżby trzeba było napisać tak jak na screenshotach BraVolt ma zrobione?

1

@CzolemLachii: Jak na kartce to masz już gotowca

pochodna z sin(x) = cos(x)
więc całka z cos(x) = sin(x)

granice całkowania:

sin(pi/2) = 1
sin(-pi/2) = -1

1 -(-1) = 1 + 1 = 2

i gotowe.

https://olimpiadachemiczna.com/absolutne-podstawy-calek-do-chemii-fizycznej/

albo inne źródło wiedzy z podstaw analizy

1

Dlaczego liczycie na kartce pola pod krzywymi na informatyce? Jakiś szerszy kontekst?

0

bo to zadanie jest z informatyki

Zaraz się okaże że z 1 roku informatyki a zadanie jest z analizy ;)

A tak poważnie: kontekst jest dość istotny. Co omawiacie na tych zajęciach?

1 użytkowników online, w tym zalogowanych: 0, gości: 1