реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> как реализовать формулу, на MSP430, 16 бит
addi
сообщение Sep 14 2013, 05:37
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Здравствуйте!
Необходимо посчитать температуру по приложенной формуле на MSP430, 16 бит.
Подскажите пожалуйста как это сделать.

Заранее благодарен

Сообщение отредактировал addi - Sep 14 2013, 05:38
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Sep 14 2013, 06:44
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



так на Си опиши. почти один в один.
Go to the top of the page
 
+Quote Post
addi
сообщение Sep 16 2013, 18:40
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Цитата(Метценгерштейн @ Sep 14 2013, 10:44) *
так на Си опиши. почти один в один.

угу, вопрос в том что не знаю как на Си, как например корень описать?
Go to the top of the page
 
+Quote Post
winipuh
сообщение Sep 16 2013, 19:40
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 31-10-12
Пользователь №: 74 189



Цитата(addi @ Sep 16 2013, 22:40) *
угу, вопрос в том что не знаю как на Си, как например корень описать?

Шутите? sm.gif

Код
#include <math.h>
...

tetha = (-R0*A + sqrt((R0*A) * (R0*A) - 4*R*B*(R0-R))) / (2*R0*B);
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 16 2013, 19:41
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(addi @ Sep 16 2013, 22:40) *
угу, вопрос в том что не знаю как на Си, как например корень описать?

Код
#include <math.h>
double sqrt(double x);
float sqrtf(float x);
long double sqrtl(long double x);
Go to the top of the page
 
+Quote Post
AndrewN
сообщение Sep 16 2013, 20:40
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961



QUOTE (addi @ Sep 16 2013, 22:40) *
угу, вопрос в том что не знаю как на Си, как например корень описать?
Пользуйтесь алгоритмом Ньютона-Рафсона:
CODE
if (x < 0.0)
    root = QNaN; // низя, школу помните?
else if (x == 0.0)
    root = 0.0;  // увы, больше не дадут
else
{  // элементарно преобразуется в фиксированную точку
    x2 = x / 2.0;
    invroot = 1.0 / x;
    invroot = invroot * (1.5 - x2 * invroot * invroot); // вот так 100 раз
    invroot = invroot * (1.5 - x2 * invroot * invroot); // шучу
    invroot = invroot * (1.5 - x2 * invroot * invroot); // 5 итераций
    invroot = invroot * (1.5 - x2 * invroot * invroot); // за глаза
    invroot = invroot * (1.5 - x2 * invroot * invroot); // и за уши хватит
    root = x * invroot;
}

Go to the top of the page
 
+Quote Post
addi
сообщение Sep 18 2013, 13:21
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Всем большое спасибо за поддержку!!!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 02:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01399 секунд с 7
ELECTRONIX ©2004-2016