Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 71

Математические данные

22.09.2013, 19:32. Показов 1476. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задача:
Кликните здесь для просмотра всего текста


Ответ получается -2446.50... , а должен 39.374 , в чём проблема?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            double x, y, z, f;
            x = -2.335 * Math.Pow(10, -2);
            y = 2.23;
            z = 15.221;
            f = Math.Exp(Math.Abs(x - y)) * Math.Pow(Math.Abs(x - y), x + y) / Math.Atan(x) + Math.Atan(z) + Math.Pow(Math.Pow(x, 6) + Math.Log(y), 1.0 / 3.0);
 
            Console.WriteLine("F = " + f);
                    Console.ReadLine();
                 }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.09.2013, 19:32
Ответы с готовыми решениями:

Математические действия
Имеется такой двумерный массив : 1 6 15 70 4 7 16 40 5 1 8 20 50 20 60 130 И нужно заполнить так : ...

Математические формулы c#
Итак получил задание в Универе, всё бы ничего но вот как работать с математическими формулами вообще не понимаю

Математические функции
Ввести любое число с клавиатуры. Вычислить: -Остаток от деления на два -Модуль -Дробную часть числа -Целую часть числа -Округлить...

10
2642 / 1653 / 267
Регистрация: 19.02.2010
Сообщений: 4,379
22.09.2013, 19:48
Цитата Сообщение от wnmkr Посмотреть сообщение
Math.Atan(x) + Math.Atan(z)
это взять в скобки, а логарифм в конце выражения возвести в квадрат. Может, ещё какие-то ошибки в коде есть.
В общем, прокачивайте внимательность и знание языка (о приоритете выполнения операций)
0
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 71
22.09.2013, 19:56  [ТС]
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
это взять в скобки, а логарифм в конце выражения возвести в квадрат. Может, ещё какие-то ошибки в коде есть.
В общем, прокачивайте внимательность и знание языка (о приоритете выполнения операций)
а как правильно его возводить в степень?

не так ли?
C#
1
 Math.Pow(Math.Log(y),2)
0
2642 / 1653 / 267
Регистрация: 19.02.2010
Сообщений: 4,379
22.09.2013, 20:14
нет, я бы просто умножил вычисленный логарифм сам на себя.
Почему именно так? Чтобы не зависеть от возможных кривых ручек мелкософтовского программиста и от машинной арифметики. Ведь pow принимает степень числа как вещественное число (т.е. целое число может перестать быть целым, например, 2 может превратиться в 1.9999999...), а затем прогер может ещё как-то это значение испохабить (ещё какой-нибудь конверсией). Если сусликов (потери точности при преобразовании типов и возможных ошибок в библиотечных функциях и классах языка) Вы не видите - это не значит, что их нет
0
7 / 7 / 6
Регистрация: 21.10.2012
Сообщений: 25
22.09.2013, 20:53
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            double x, y, z, f;
            x = -2.235 * Math.Pow(10, -2);
            y = 2.23;
            z = 15.221;
            f = ((Math.Exp(Math.Abs(x - y)) * Math.Pow(Math.Abs(x - y), x + y)) / (Math.Atan(x) + Math.Atan(z))) + Math.Pow(Math.Pow(x, 6) + Math.Log(y), 2.0 / 3.0);
 
            Console.WriteLine("F = " + f);
            Console.ReadLine();
        }
    }
}
0
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 71
22.09.2013, 21:03  [ТС]
[QUOTE=Aristat;5086577]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            double x, y, z, f;
            x = -2.235 * Math.Pow(10, -2);
            y = 2.23;
            z = 15.221;
            f = ((Math.Exp(Math.Abs(x - y)) * Math.Pow(Math.Abs(x - y), x + y)) / (Math.Atan(x) + Math.Atan(z))) + Math.Pow(Math.Pow(x, 6) + Math.Log(y), 2.0 / 3.0);
 
            Console.WriteLine("F = " + f);
            Console.ReadLine();
        }
    }
}
[/QUOTE
спасибо , понял свои ошибки .
Но почему вместо sqrt тут записывается Math.Pow(Math.Pow(x, 6) + Math.Log(y), 2.0 / 3.0);
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.09.2013, 21:19
VTsaregorodtsev, pow считается как сумма ряда, так что там погрешность будет сильно больше, чем 1.9999999
0
2642 / 1653 / 267
Регистрация: 19.02.2010
Сообщений: 4,379
25.09.2013, 21:33
Цитата Сообщение от Psilon Посмотреть сообщение
pow считается как сумма ряда
тогда это редкий мастдай. Если мне не изменяют мозги в полвторого ночи - X^Y=2^(Log2(X)*Y).
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.09.2013, 21:57
VTsaregorodtsev, а логарифм, по-вашему, как считается?

Добавлено через 10 минут
Хотя есть определенные эвристики. Например:
C++
1
2
3
4
5
6
7
8
9
double fastPow(double a, double b) {
  union {
    double d;
    int x[2];
  } u = { a };
  u.x[1] = (int)(b * (u.x[1] - 1072632447) + 1072632447);
  u.x[0] = 0;
  return u.d;
}
Но они очень неточные. Например
C#
1
2
3
            double x = 12.53, y = 16.45;
            Console.WriteLine(Math.Pow(x, y));
            Console.WriteLine(PowerA(x, y));
у меня выдал ответ:
1,15158266266297E+18 //правильный ответ
8,9966384455562E+17
поэтому на практике редко используются
0
2642 / 1653 / 267
Регистрация: 19.02.2010
Сообщений: 4,379
29.09.2013, 21:32
Цитата Сообщение от Psilon Посмотреть сообщение
а логарифм, по-вашему, как считается?
Специально предназначенной для этого командой (со)процессора
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
29.09.2013, 23:08
VTsaregorodtsev, да, я уже этот вопрос провентилировал
http://stackoverflow.com/quest... redirect=1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.09.2013, 23:08
Помогаю со студенческими работами здесь

Математические классы
1. Создать пространство имен Algebra. 2. Разработать класс Vector для манипуляции с векторами действительных чисел. В этого класса...

Математические задачи
Привет народ! помогите пожалуйста для решение 2 математических задач, буду признателен вам,

В массив выводить данные-id клиента, данные серверу и данные, отправленные сервером
Здравствуйте. Имеется клиент-серверное приложение, вопрос по стороне сервера. Имеется backgroundworker-bw_clientReceining: ...

задачка математические выражения
есть задачка в виде уравнения (показываем уравнение. ждем недостающего. отдаем верно/не верно) A + B = C где знак операции может быть...

Математические операции с матрицами
Даны квадратные матрицы A и B порядка n. Получить матрицу AB-BA на C# нужна прога


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru